为什么在正则表达式中使用四个反斜杠?

时间:2019-01-28 05:15:22

标签: regex

"^\\\\d{1,2}$"

我有上述正则表达式。我知道字符串解析器将消除两个反冲,使我们剩下\\d。以一个元字符为例,多余的\的功能是什么?我以前没有在正则表达式方面的经验。还是字符串模式本身是[反斜杠] [最多两次出现整数]。我想念什么吗?

2 个答案:

答案 0 :(得分:0)

反斜杠转义其他反斜杠以及特殊字符。

您所拥有的是:

    在您的正则表达式引擎中,
  • \d是“数字”。
  • \\d在您的字符串引用机制中为反斜杠转义反斜杠+ d == \ d。
  • \\\\d是反斜杠转义反斜杠(+ d)两次,如果使用的是外壳程序,或者必须通过system或{{ 1}}之类的东西。

答案 1 :(得分:0)

需要转义\,以便您的字符串文字可以在将其转换为正则表达式之前将其表示为数据。

第一个^\\表示模式以\开头,\\d{1,2}表示数字(\ d)应该出现1至2次。这就是为什么有四个反斜杠。

匹配情况:

\12
\1
.......