我有一个我似乎无法解决的正则表达式问题。我实际上不知道正则表达式是否可以做到这一点,但我需要在模式末尾匹配一系列字符 n 次。
例如。 blahblah[A-Z]{n}
问题是与结束范围匹配的任何字符都必须相同。
例如,我想匹配
但不是
是否有一些正则表达式模式可以做到这一点?
最佳答案
您可以使用此模式:blahblah([A-Z])\1+
\1
是对第一个捕获组的反向引用,在本例中为 ([A-Z])
.和 +
将匹配该字符一次或多次。要限制它,您可以替换 +
使用 {n}
指定重复次数,例如 \1{3}
这将匹配它三倍。
如果您需要匹配整个字符串,请确保以 ^
为前缀。并以 $
结尾,分别使模式变为 ^blahblah([A-Z])\1+$
您可以阅读更多关于 back-references here .
关于regex - 多次匹配同一个未知字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11460397/