我想用正则表达式验证字母为A-Z
,AA-ZZ
,AAA-ZZZ
等字符串。我知道[A-Z]
会验证第一种情况,但其他情况如何。正则表达式验证带有重复的字母范围
A, B, C, D, E, .... Z
或
AA, BB, CC, DD, EE, .... ZZ
或
AAA, BBB, CCC, DDD, EEE, ... ZZZ
等等...
我想用正则表达式验证字母为A-Z
,AA-ZZ
,AAA-ZZZ
等字符串。我知道[A-Z]
会验证第一种情况,但其他情况如何。正则表达式验证带有重复的字母范围
A, B, C, D, E, .... Z
或
AA, BB, CC, DD, EE, .... ZZ
或
AAA, BBB, CCC, DDD, EEE, ... ZZZ
等等...
您可以使用反向引用,如果你的正则表达式引擎支持它:
^([A-Z])\1*$
这很好。 –
@MikeFlynn,不客气。 –
其实它不适用于“A”。 –
这是写一个痛苦,但如果你想匹配任何数量的字母,并要求他们对所有相同的信,你可以使用这样的:通过其余
^(A+|B+|C+|D+ ...)$
等字母表。
这可以通过反向参考来改进:^([A-Z])\ 1 + $ –
“改进”是一个有趣的说法。 ;-)如果你使用反向引用,它不再是一个真正的正则表达式,所以有些实现不会处理它;以及必须使用低效回溯实现的实现。但的确,它可以用于很多目的。 –
尝试
^(\w)\1*$
您匹配任何单词字符。如果它不止一个字符,它必须是相同的。
你能举出更多应该匹配并且不应该匹配的字符串示例吗?你知道正则表达式'[A-Z]'的含义吗?特别是它*不匹配字符串'“A-Z”'。 –
模式“AB”是否匹配? –
不,它不匹配 –