【发布时间】:2013-07-10 20:16:22
【问题描述】:
我需要一个允许其中没有连字符的单词的正则表达式。 例如,在字符串“non-word sentence”中,它应该只匹配“sentence”。 我写道:
"\b(?!\w+[-]\w+)\w+"
它失败了:
它不仅匹配“句子”,还匹配“单词”。
如何让它忽略里面有连字符的单词?
【问题讨论】:
-
您使用的是哪个正则表达式引擎?聚合酶链反应?正如您的标签所述,这是针对 C++ 程序的吗?
-
要添加到@JesseSmith 的评论中,我也很好奇您使用的是哪个引擎,因为 AFAIK,没有 C++ 标准库有工作正则表达式(我可能是错的,在这种情况下我d很高兴得到纠正)。 C++11 核心语言现在几乎可以工作,但标准库却落后了......
-
@syam:C++ 从 C++11 开始支持正则表达式,例如en.cppreference.com/w/cpp/regex
-
@NateKohl: C++11 specification 支持正则表达式,但是 syam 是正确的,没有 C++ 实现 有工作正则表达式。
-
@MooingDuck:LLVM 的 libc++ (libcxx.llvm.org) 目前对
有合理的支持。