使用正则表达式匹配包含两个变量的字符串

时间:2017-08-08 00:49:22

标签: regex

我想匹配具有以下要求的字符串:

  • 该字符串包含5到10位数字。 [0-9]
  • 包含2到3个字母。 [A-Z]

例如

  • 123a2bc12
  • s123d456

这是我的正则表达式。 / ^ \ d * [A-Z] \ d * [A-Z] \ d * [A-Z]?\ d * $ /。但这只能限制字母数量。

2 个答案:

答案 0 :(得分:1)

它不是很漂亮,但这应该是你正在寻找的东西:

^(?=(?:[^a-zA-Z]*[a-zA-Z]){2,3}[0-9]*$)(?=(?:[^0-9]*[0-9]){5,10}[A-Za-z]*$).*$

答案 1 :(得分:0)

我想你想要这个

s=re.search(r'(\w+)','123a2bc12').group(1)
print s   #The output is '123a2bc12'