Py学习  »  Python

Python正则表达式匹配以大写字母和长度范围开头的字母数字

Naveed • 3 年前 • 1305 次点击  

我需要匹配如下字符串:

NEV2297075
WB/03/001/585269
WB/03/HK/585065

它应该以2个或更多大写字母开头,以数字结尾,可以包含a-Z,/中间的数字,总长度应该在10到22之间

为此,我使用了:

re.findall(r'[A-Z]{2,}[A-Z\/0-9]{1,}[0-9]{10,22}'

我看到长度范围应用于它前面的表达式。如何将长度范围应用于整个字符串?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/131904
 
1305 次点击  
文章 [ 1 ]  |  最新文章 3 年前
The fourth bird
Reply   •   1 楼
The fourth bird    3 年前

这里的量词 [0-9]{10,22} 重复匹配10-22个数字。

如果要验证总字符数,应锚定该字符串,并在下一个锚定之前使用前瞻键验证字符数 ^(?=[A-Z\d,/]{10,22}$)

^(?=[A-Z\d,/]{10,22}$)[A-Z]{2,}[A-Z\d,/]*\d$

Regex demo