正则表达式

时间:2018-04-05 10:37:25

标签: regex

我想找到包含某些单词但不包含其他单词的行 等。

  • 案例1:期望.........非GAAP摊薄后的每股盈利
  • 案例2:预计........持续经营的摊薄后每股收益
  • 案例3:预计........调整后的持续经营摊薄后每股收益

这是我的正则表达式

(expect|project)(.*)(diluted\sEPS\sfrom\scontinuing\soperations)

但它匹配这三个。

我只希望结果来自case2,而不是来自其他两种情况。

有人可以帮忙吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

如果我没有弄错,你想匹配(expect|Projected)后跟一个或多个点,然后匹配句子diluted EPS from continuing operations

如果要匹配文字点,则必须将其转义\。在你的正则表达式中(.*)将匹配任何字符零次或多次,以便在(expect|project)之后匹配,直到遇到单词diluted并匹配non-GAAPadjusted

如果您想匹配单词之间的空格,则可以匹配文字空格而不是\s

试试这样:

(?:expect|Projected)\.+diluted EPS from continuing operations

匹配

  • (?:expect|Projected)与两个值中的一个匹配的非捕获组
  • \.+匹配一个或多个点
  • diluted EPS from continuing operations匹配您的句子