正则表达式:括号表达式中的双反斜杠

时间:2014-02-17 11:44:51

标签: regex

以下表达式中的双反斜杠匹配什么?

/^[\\?]/

它是\&(转义反斜杠) - 或 - \\&(未转义) - 或 - \的过滤器?(转义问号)?

2 个答案:

答案 0 :(得分:3)

这是一个指向正则表达式的链接以及一些示例测试字符串,在Rubular中进行了测试。

正则表达式开头的^将您要匹配的内容锚定到测试字符串的开头。

之后是括号[],这意味着括号内的任何字符都可以匹配。

在括号内,您有一个\\ - 第一个\转义了跟随的字符 - 这意味着您要搜索要跟随\的内容。碰巧接下来是另一个\ - 所以这意味着你接受的一个角色是\

之后是一个问号? - 当放在括号内时,字面意思是你想要匹配问号符号。

因此,您的正则表达式正在查找以反斜杠或问号开头的任何字符串。

请再次参考example test strings at Rubular

答案 1 :(得分:1)

\将特殊字符转换为特殊字符和文字字符。例如:/\(s\)/匹配'(s)'而/(\s)/匹配任何空格并捕获匹配(来自javascriptkit.com)。由于\是一个特殊字符,因此您必须转义它才能在字符串中搜索反斜杠:

var s = '\\ must be escaped in a string as well!';
/\./.test(s);  // false
/\\./.test(s); // true