我遇到了正确测试这句话的问题。
" c ++和javascript"
中的代码
我想匹配c ++和javascript,但不是java。我通过在双方\b
引入单词边界测试解决了不匹配java的问题。
用单词边界测试解决。
现在问题 - 同样的方法不适用于" c ++",虽然在我看来它应该是。有什么我想念的吗?
没有字边界
答案 0 :(得分:3)
由于+
不被视为单词字符,因此在\b
之后+
无法工作。
您可以在RHS上使用否定前瞻而不是\b
来修复正则表达式:
/\bc\+\+(?!\w)/
要在替换时匹配java
和c++
:
/\b(?:c\+\+|java)(?!\w)/
答案 1 :(得分:2)
您是否尝试使用相同的正则表达式进行匹配?还是独立的?这将匹配c ++,如果这是你需要的:
c\+{2}
答案 2 :(得分:1)
对于c ++,你可以尝试下面的
/c\+{2}$/