我需要字符串的正则表达式,其中包含复合连续字母数 A 。复合数字表示不是素数的字母。因此 AAAAA 无效且 AAAAAAAAA 有效。 我唯一的解决方案是:
import re
Regex_Pattern = r'(A{2,})\1+'
print(str(bool(re.search(Regex_Pattern, raw_input()))).lower())
但它不适用于9个字母 A 的出现。你能救我吗?
答案 0 :(得分:2)
您需要指定必须匹配整个字符串。因此,请添加^
和$
:
>>> [i for i in range(20) if re.search(r'^(A{2,})\1+$', 'A' * i)]
[4, 6, 8, 9, 10, 12, 14, 15, 16, 18]
或使用re.match
,您只需要$
:
>>> [i for i in range(20) if re.match(r'(A{2,})\1+$', 'A' * i)]
[4, 6, 8, 9, 10, 12, 14, 15, 16, 18]