我正在寻找一种正则表达式语法,它可以让我检测一个单词,但它不能检测它是否被非常特定的单词包围。例如:如果单词“beautiful”被单词“this”和“picture”包围,则检测到单词“beautiful”,但是如果单词“beautiful”被单词“this”和“picture”包围,则检测不到单词“beautiful”。例如:“我喜欢这张美丽的照片。谢谢你的帮助
z9zf31ra1#
我理解这个问题的意思是,这个词应该被找到,除非它被其他两个词包围,而且周围的词应该完全匹配。这使得正则表达式比dinhit评论中的正则表达式稍微复杂一些,但我同意负lookbehind和负lookaheads是关键。我们只需要一个“or”来完成它,[^\w]项排除周围单词中的其他单词字符。
(?<!\bthis )\bbeautiful\b|\bbeautiful\b(?! picture\b)
在这里试试:https://regex101.com/r/GzuVln/2
1条答案
按热度按时间z9zf31ra1#
我理解这个问题的意思是,这个词应该被找到,除非它被其他两个词包围,而且周围的词应该完全匹配。这使得正则表达式比dinhit评论中的正则表达式稍微复杂一些,但我同意负lookbehind和负lookaheads是关键。我们只需要一个“or”来完成它,[^\w]项排除周围单词中的其他单词字符。
在这里试试:https://regex101.com/r/GzuVln/2