以下表达式中的双反斜杠匹配什么?
/^[\\?]/
它是\
和&
(转义反斜杠) - 或 - \\
和&
(未转义) - 或 - \
的过滤器?
(转义问号)?
答案 0 :(得分:3)
这是一个指向正则表达式的链接以及一些示例测试字符串,在Rubular中进行了测试。
正则表达式开头的^
将您要匹配的内容锚定到测试字符串的开头。
之后是括号[]
,这意味着括号内的任何字符都可以匹配。
在括号内,您有一个\\
- 第一个\
转义了跟随的字符 - 这意味着您要搜索要跟随\
的内容。碰巧接下来是另一个\
- 所以这意味着你接受的一个角色是\
。
之后是一个问号?
- 当放在括号内时,字面意思是你想要匹配问号符号。
因此,您的正则表达式正在查找以反斜杠或问号开头的任何字符串。
答案 1 :(得分:1)
\
将特殊字符转换为特殊字符和文字字符。例如:/\(s\)/
匹配'(s)'而/(\s)/
匹配任何空格并捕获匹配(来自javascriptkit.com)。由于\
是一个特殊字符,因此您必须转义它才能在字符串中搜索反斜杠:
var s = '\\ must be escaped in a string as well!';
/\./.test(s); // false
/\\./.test(s); // true