
1. 使用new RegExp 加 "^\d+$"
a = new RegExp("^\d+$") // /^d+$/
a.test(12132) // false
2. 使用new RegExp 加 "^\\d+$"
b = new RegExp("^\\d+$") // /^\d+$/
b.test(12132) // true
3. c = /^\d+$/
c.test(12132) // true
4. e = new RegExp("^\\\\d+$") // /^\\d+$/
5. f = new RegExp("^\\\\\d+$") // /^\\d+$/
6. g = f = new RegExp("^\\\\\\d+$") // /^\\\d+$/
new RegExp() 加双引号形式把会多转义一次。
正则表达式与字符串匹配
本文探讨了JavaScript中使用new RegExp创建正则表达式时的转义问题。通过示例1和2展示了如何正确创建匹配整数的正则,其中双反斜杠的使用至关重要。示例3直接使用正则字面量创建的表达式则没有此问题。最后,文章提到了newRegExp在双引号中会导致额外的转义,影响正则表达式的解析。
1699

被折叠的 条评论
为什么被折叠?



