检查单词中某个短语之前是否存在字母

时间:2014-11-17 13:12:38

标签: regex

我的猜测是需要前瞻/后退,我不熟悉它们。

问题很简单,我想说的是

submarine

我希望我的正则表达式匹配如果有字母 r ,但字母 s 不能出现在字母 r 之前。所以潜艇将失败匹配,因为s确实发生在r之前。单词单词是匹配的,因为其中没有 s 所有字符串 wersr 也是匹配因为我只需要检查第一个 r ,在第一个r之前只有 wer ,其中不包含 s

3 个答案:

答案 0 :(得分:1)

你不需要去寻找外表。只需以下正则表达式即可完成任务。

^[^s]*r.*$

DEMO

答案 1 :(得分:0)

^(?=[^s]*r).*$

试试这个。看看演示。

http://regex101.com/r/lZ5mN8/16

答案 2 :(得分:0)

将单词与" r"匹配没有先前的" s"在这个词的任何地方:

\b[^s\W]*r\w*\b

参见demo匹配" rat","砷"并且"更多",但不是"误读"或"潜艇"