我试图找到 latex 代码的 \\ch
的位置,例如 foo\\ch
但字符串的搜索方法无法做到这一点。例如运行以下代码:
console.log('foo\\c'.search('\\c')); // expected 3, really get 3
console.log('foo\\ch'.search('\\ch')); // expected 3, but get -1
我怀疑“错误”是由于 \ch
形成了一个特殊字符,但我在互联网上搜索过,似乎 \ch
不是一个特殊字符。
最佳答案
当使用字符串作为参数调用 search()
时,它会转换为正则表达式(请参阅 here )
但是 new RegExp('\\ch')
返回 /\ch/
这是匹配任何 BackSpace 字符的正则表达式 (\cX
匹配控制字符 X
,请参阅 here )。
要实现您想要的效果,请使用 /\\ch/
正则表达式
'Foo\\ch'.search(/\\ch/) // returns 3
关于javascript - javascript中的search()方法无法在包含 "\\ch"的字符串中搜索它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44692038/