正则表达式,用于筛选字符串中间某处的单词



我有以下(短url(字符串,可以通过以下三种方式:

  1. abc xy helloWorld
  2. abc xy你好世界欢迎
  3. abc xy你好世界欢迎回家

我只需要过滤"helloWorld"字符串,下面的(?<=abc-xy-).*适用于情况#1,但我如何使它适用于所有3种情况,使它只过滤"helloWorld",而不管输入是1、2还是3。

.*部分尽可能多地匹配除换行符之外的任何零个或多个字符。

在字符串中,helloWord后面跟一个-字符,而helloWorld仅由字母组成。

因此,这里可能的解决方案是

(?<=abc-xy-)[a-zA-Z]+
(?<=abc-xy-)w+
(?<=abc-xy-)[^-]+

请参阅此处的regex演示。

[a-zA-Z]+变体将匹配一个或多个ASCII字母,w+将匹配一种或多种字母、数字或下划线,[^-]+将匹配除-之外的一个或多种字符。

注意,我在regex测试站点中使用[^-n],因为输入是单个多行文本,而在现实生活中,您将这些字符串作为单独的输入。

相关内容

  • 没有找到相关文章

最新更新