我正在尝试学习RegEx并构建一个正则表达式,该表达式将查看指定的单词是否在提供的字符串中。到目前为止,我确实在Regular Expression Info上尝试了RexxEgg和Regular Expression Online,但我没有找到问题的答案。
我尝试了条件和外观。让我们说我想构建一个表达式来测试不存在的单词 myword ,并在单词不在字符串中时传递表达式。我用过表达式
(?(?!myword).*)
但RegEx不管单词 myword 都会通过,这意味着字符串This is the text
和This is myword the text
都会通过测试。
使用否定前瞻和条件用于在 myword 不存在时测试该条件为真。 Lookahead也是零长度,因此.*
将返回整个字符串。
希望有人可以提供帮助:)
答案 0 :(得分:2)
你应该使用锚点和否定前瞻:
^(?!.*?myword).*$
如果在输入字符串中的任何位置找到(?!.*?myword)
,则 myword
是一个否定的预测,会使匹配失败。
答案 1 :(得分:2)