如题,我有一个字符串str,我想将它转成正则,然后用于test、replace等。
我的做法是 let reg = new RegExp(str)
但这样不会将其中的特殊字符进行转义,如 ?
=> \?
请问有什么方法或者什么库能够完成对字符串中的特殊字符进行转义呢?
如题,我有一个字符串str,我想将它转成正则,然后用于test、replace等。
我的做法是 let reg = new RegExp(str)
但这样不会将其中的特殊字符进行转义,如 ?
=> \?
请问有什么方法或者什么库能够完成对字符串中的特殊字符进行转义呢?
const s = "ab?c";
const reg = new RegExp(s.replace(/\?/g, "\\?"));
reg.test("ac");
reg.test("ab?c");
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
MDN关于正则表达式的描述页面有个简单的函数可以处理这种情况:正则表达式
先用这个函数把目标字符串中的特殊符号替换掉,然后再创建正则表达式: