繁体   English   中英

正则表达式在单词的位置后面

[英]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)是一个非捕获组。

请记住,这是一个非常简单的检查。 这不是niceThis is nice but not pretty 如果要增加对语法的深入了解,则必须更深入地进行研究。

后向必须为固定长度。

划分任务可能会更容易。 首先检查句子中是否包含“ nice”,“ friendly”等,然后在单独的条件中检查它是否不包含否定词。

这也将使检测双重阴性也更容易:p

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM