我想要一个匹配“bananas”或“睡衣”但不匹配“bananas2”或“bananaspajamas”或“banana”或基本上除了这两个单词之外的任何内容的C++正则表达式。所以我这样做了:
#include <regex>
int main(int argc, char** argv) {
static const std::regex bp = std::regex("\bbananas\b|\bpajamas\b");
printf("%d\n", std::regex_match("bananas", bp));
}
除了打印0!是什么赋予了?/\bbananas\b|\bpajamas\b/.test('bananas')
给我true
在 Javascript 中,那么 C++ 有什么不同呢?
正则表达式字符串应该有\bbananas\b|\bpajamas\b
。但在 C++ 中,"\bbananas\b|\bpajamas\b"
return bbananasb|bpajamasb
。因此,你必须使用额外的\
with \
like "\\bbananas\\b|\\bpajamas\\b"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)