import re
pat = re.compile(r'''
(?: # open the group so we can repeat it later
\w{3} # three letters
\d{3} # three numbers
)+ # repeated one or more times
''', re.X)
然后,您可以使用re.match根据此模式检查字符串
s = 'aaa111bbb222ccc333ddd444eee555fff666'
assert re.match(pat, s)
s2 = 'arbitrary non-matching string'
assert not re.match(pat, s2)
str = "aaa111bbb222ccc333ddd444eee555fff666"
def my_is_alpha(string, list):
for start, end in list:
if not string[start:end].isalpha():
return False
return True
list = [(0, 3), (6, 9), (12, 15)]
print(my_is_alpha(str, list))
问题的一般解决方案是一个称为“模式匹配”的解决方案空间。这种特殊类型的模式匹配似乎是一个正则表达式
虽然您尚未指定模式应该是什么,但根据您的输入,我将假设匹配字符串类似于“三个字母,后跟三个数字,重复任意次数”。该正则表达式是:
然后,您可以使用
re.match
根据此模式检查字符串这个功能能帮你吗
输出:
相关问题 更多 >
编程相关推荐