javascript - javascript中的search()方法无法在包含 "\\ch"的字符串中搜索它

标签 javascript string search slash

我试图找到 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/

相关文章:

javascript - 按钮在 html Canvas 上不起作用

javascript - Vue.js 仅显示 3 张幻灯片

javascript - 如何将非常大的算法盟友正确规范化为相对较小的数字范围?

java - 仅在 Java 中通过查看字符串的特定部分来删除字符串数组的重复项

string - 用于选择具有最新日期且不带子字符串的文件名的 Bash 脚本

ios - 使用 UISearchController 通过 API 进行搜索?

javascript - 在不使用 .then 的情况下在类里面链式 promise

c++ - 从 Windows 可执行版本中隐藏或删除不需要的字符串

c++ - Eclipse IDE,正则表达式搜索和替换

PHP、in_array 和数组中的快速搜索(到最后)