以下正则表达式有效吗?如果是这样,它有什么作用?
.*(.)(.)(.)(.)\4\3\2\1.*
似乎找不到任何关于转义数字的信息,为什么是四个 (.) ?
以下正则表达式有效吗?如果是这样,它有什么作用?
.*(.)(.)(.)(.)\4\3\2\1.*
似乎找不到任何关于转义数字的信息,为什么是四个 (.) ?
它不是逃避数字;有许多正则表达式库使用该\#
符号来引用特定的捕获组。即,\1
是第一个捕获的组。
是(.)
每个捕获组,所以这将匹配类似
abcddcba
它看起来是有效的,是的,并且简单地说,“匹配零个或多个字符,后跟任意四个字符,然后是相同的四个字符,反转,后跟零个或多个字符”。
.*
= 任何字符出现零次或多次(.)(.)(.)(.)
= 任意四个字符(并“捕获”每个字符以供以后参考)\4\3\2\1
= 匹配捕获的第四个字符,然后是第 3 个、第 2 个、第 1 个.*
= 任何字符出现零次或多次这些都是与 RegEx 匹配的示例: