[英]Regex lookbehind position of words
事情不是很好。
到目前为止,我的正则表达式:
(?<!not\s)(?<!n't\s)(nice|friendly|excelent|comfortable|easy access|good|clean|beautiful)
如果句子中不包含单词:“ not”或“ n't”(又名不是,不是),我只想匹配单词(该句中的友好,友好...)。 又名积极的句子。
但是此正则表达式仅适用于以下语句:
The thing was very not nice.
如何在后面形容词来检查形容词之前的“不”或“不”两个词是否不在任何位置?
你可以使用一个负面展望检查没有任何not
还是n't
任何地方的字符串,而\\K
扔掉你不想要的部分:
^(?!.*(?:not|n't)).*\K(nice|friendly|excellent|comfortable|easy access|good|clean|beautiful)
(?!...)
如果匹配的内容失败, (?:not|n't)
是一个非捕获组。
请记住,这是一个非常简单的检查。 这不是nice
, This is nice but not pretty
。 如果要增加对语法的深入了解,则必须更深入地进行研究。
后向必须为固定长度。
划分任务可能会更容易。 首先检查句子中是否包含“ nice”,“ friendly”等,然后在单独的条件中检查它是否不包含否定词。
这也将使检测双重阴性也更容易:p
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.