2024-04-25 18:48:45 发布
网友
我尝试在python中使用正则表达式来表示一个4个字符的字符串,其中第一个字符是数字,另外3个字符是数字或大写字母。 下面是应该匹配1CTT、2IR8、35TR、4T1R的模式示例
我尝试了很多方法,下面是我最后尝试的代码:
exp=re.compile("[0-9]{1}([A-Z0-9]{3})")
谢谢你的帮助!你知道吗
上一次尝试的表达式看起来正确,应该与提供的测试字符串匹配。尽管您不必指定{1},也不需要捕获组(括号):
{1}
>>> import re >>> text = "text, 1CTT, 2IR8, 35TR, 4T1R, smth else" >>> pattern = re.compile(r"[0-9][A-Z0-9]{3}") >>> pattern.findall(text) ['1CTT', '2IR8', '35TR', '4T1R']
您可能还需要添加单词边界约束(感谢@Jon Clements):
>>> text = "text, 1CTT, 2IR8, 35TR, 4T1R, smth else, 35TT35XYZ" >>> pattern = re.compile(r"\b[0-9][A-Z0-9]{3}\b") >>> pattern.findall(text) ['1CTT', '2IR8', '35TR', '4T1R']
上一次尝试的表达式看起来正确,应该与提供的测试字符串匹配。尽管您不必指定
{1}
,也不需要捕获组(括号):您可能还需要添加单词边界约束(感谢@Jon Clements):
相关问题 更多 >
编程相关推荐