我花了一些时间,但还是要解决.我需要能够在字符串中匹配带有符号的单词(如c ++)的正则表达式.
我已经习惯了/\bword\b/,对于"通常"的话,它运作正常.但是一旦我尝试/\bC\+\+\b/它就行不通.它有些与加号相符合作用.
我需要一个正则表达式来检测输入字符串是否包含c ++单词.输入像,
"c++ developer"
"using c++ language"
Run Code Online (Sandbox Code Playgroud)
等等
PS.使用C#,.Net Regex.Match函数.
感谢帮助!
ken*_*ytm 16
+ 是一个特殊的角色,所以你需要逃脱它
\bC\+\+(?!\w)
Run Code Online (Sandbox Code Playgroud)
请注意,我们不能使用\b因为+不是单词字符.
问题不在于加号字符,即你已正确转义,而是\b序列.它表示单词边界,它是单词字符(字母数字)和其他内容之间的点.Plus不是单词字符,因此\b要匹配,最后一个加号后面需要有一个单词字符.
\bC\+\+\b例如,匹配"测试C++测试"而不是"测试C++测试".尝试一下,\bC\+\+\s如果你希望在最后一个加号后面有一个空格.
| 归档时间: |
|
| 查看次数: |
25740 次 |
| 最近记录: |