我在Java中使用REGEX,我需要检查一个字符串是否有一个单词,而在它的前后没有某些特定的单词。
我设法创建了一个正则表达式,排除了后面的单词:
.*WORD(?! AFTER).*
使用此表达式,字符串 “bla bla WORD AFTER bla bla” 将不匹配,但字符串“bla bla WORD bla bla”将匹配。
我也需要对前一个单词进行相同的行为。例如,字符串 “bla bla bla BEFORE WORD AFTER bla bla bla” 不应匹配,但字符串“bla bla WORD bla bla”应该匹配。
我试过这个:
.*(?!BEFORE )WORD(?! AFTER).*
虽然表达式没有给出任何错误,但它没有预期的行为。相反,它的工作方式与第一个表达式完全相同(没有 (?!BEFORE ))。 任何想法将不胜感激。