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

3
以下表达式中的双反斜杠匹配什么?
答案:这个表达式中的双反斜杠用于匹配单个反斜杠。
/^[\\?]/

这是一个过滤器,用于 \&(转义反斜杠)- 或者 - \\&(未转义)- 或者 - \?(转义问号)?


2
您可以尝试匹配一些样本字符串,看看是否有匹配项来进行检查。 - Jerry
2
一个反斜杠表示转义,所以在它后面再加一个反斜杠时,它会被转义,这意味着双反斜杠匹配单个反斜杠。 - Paul S.
2个回答

6
这是您的正则表达式及一些测试字符串的链接,已在Rubular中进行了测试。
您的正则表达式开头的^将匹配到的内容锚定到测试字符串的开头。
接下来是方括号[],表示可以匹配方括号内的任何字符。
在方括号内,您有一个\ - 第一个\转义后面的字符 - 这意味着您要搜索接下来的字符。巧合的是,接下来的字符又是一个\ - 这意味着您将接受其中一个字符为\。
接下来是一个问号? - 当放置在方括号内时,字面意思是您要匹配问号符号。
因此,您的正则表达式正在寻找以反斜杠或问号开头的任何字符串。

请再次参考在Rubular上的示例测试字符串


1

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接