gpt4 book ai didi

c++ - 匹配里面没有连字符的单词

转载 作者:行者123 更新时间:2023-11-30 02:53:51 25 4
gpt4 key购买 nike

我需要一个正则表达式,允许其中没有连字符的单词。例如,在一个字符串“non-word sentence”中,它应该只匹配“sentence”。我写道:

 "\b(?!\w+[-]\w+)\w+" 

失败了:

不仅匹配“sentence”,还匹配“word”。

如何让它忽略里面有连字符的单词?

最佳答案

好吧,这是一个用于 PCRE(Perl 兼容的正则表达式系统,这意味着大多数):

(?<![-])\b[a-zA-Z]+\b(?![-])

让我为您分解一下:

(?<![-]) : Negative look-behind——“下一个匹配的东西,看它前面的东西。如果是连字符,忽略这个匹配”

\b[a-zA-Z]+\b : 一个词界,一个词,一个词界。我们的“东西”。

(?![-]) : 消极的前瞻——“匹配的东西,看看它后面的东西。如果是连字符,忽略这个匹配”

Here it is在我最喜欢的在线正则表达式测试器 RegExr 中。

关于c++ - 匹配里面没有连字符的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17580109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com