2

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

我有上面的正则表达式。我知道字符串解析器将删除两个反冲,让我们留下\\d. 以一个为元字符,无关的功能是\什么?我以前没有正则表达式的经验。或者字符串模式本身就是[反斜杠][最多出现两次的整数]。我错过了什么吗?

4

2 回答 2

1

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

你所拥有的是:

  • \d在您的正则表达式引擎中是“数字”。
  • \\d在您的字符串引用机制中是反斜杠转义反斜杠 + d, == \d。
  • \\\\d是反斜杠-转义-反斜杠,两次,+ d,如果您使用的是shell,或者您必须通过systemrsh或其他方式传递字符串,则可能会转义命令行。
于 2019-01-28T05:28:25.060 回答
0

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

首先^\\意味着模式以开头\并且\\d{1,2}意味着 digit(\d) 应该出现 1 到 2 次。这就是为什么有四个反斜杠。

相符:

\12
\1
.......
于 2019-01-28T06:08:27.887 回答