因为我是正则表达的新手,所以我精通Regex。
有人可以帮助解决这个正则表达式的含义吗?
^(。)\ 1 + $
答案 0 :(得分:3)
build
是一个聪明的正则表达式,匹配任何包含两个或多个字母全部相同的完整行。 E.g:
请参阅注释以了解正则表达式的每个部分的作用。
答案 1 :(得分:1)
简答:主题中的第一个字符重复一次或多次,占据整个测试对象。换句话说,整个主题被两个或多个相同的角色占据。
因为你正在学习:
'^'是主题“锚”的开头。它不消耗任何数据,只是断言一个位置。类似于元字符序列\ A如果遇到这种情况,虽然后者不受行模式的影响(研究正则表达式“模式修饰符”)。
'$'是主题锚的结束。同样,一个非消费的断言。类似于\ Z元字符,虽然后者不受行模式的影响。关闭\ z的堂兄(尽管后者不考虑换行和行模式)。任何时候你看到一个正则表达式框架与^ ... $它断言匹配条件是从前到后。
“()”正在捕捉括号。这意味着您可以“返回”使用\ N捕获的内容,其中N是1-9,对应于从左到右的捕获括号的顺序。在您的示例中,我们只有一个捕获组,因此它被称为\ 1。除了捕获参考之外,组还用于量化 - 用于重复模式指定的次数,以及用于字符串或模式的交替,例如:(^ | $),其中“| “是一个逻辑“或”,这个正则表达式将测试主题是否以下划线开头或结尾。
'' (点)是表示任何单个字符的元字符。 (粗略地说,查看各种匹配“模式”,看看如何控制点是否与换行相匹配。不要将“字符”与八位字节或字节混淆。语言环境和字符集编码过于宏大,需要详细说明,但请注意,“角色”的定义在某种程度上是上下文的。)
'+'是一个或多个量词。 \ 1+表示捕获组1捕获的任何字符重复一次或多次(即,发生两次或更多次)。 “aa”匹配,其中第一个'a'与组\ 1中捕获的点匹配,第二个'a'匹配,因为它满足一个或多个量化。