我想要一个python的正则表达式,它匹配一个必须包含4位数的字符串,它可能不包含除" - "或"."之外的任何特殊字符,并且它可能只包含大写字母.我知道以下匹配4位或更多的文本.我如何添加其余标准?
[0-9]{4,}
一个例子是: ART-4.5-11是好的,ART5411是好的,76543是好的,但aRT-4!5-11是坏的,因为它包含一个小写字符和一个不是" - "或"."的特殊字符. "
模式:
pattern = '^[A-Z.-]*(\d[A-Z.-]*){4,}$'
Run Code Online (Sandbox Code Playgroud)
^ - 这个词的开头[A-Z.-]* - 任意数量的可选非数字"好字符":字母,句号或短划线(\d[A-Z.-]*){4,} - 4个或更多组数字和其他"好字符"; 此部分提供至少4位数字$ - 结尾例子:
re.match(pattern, "ART-4.5-11")
# <_sre.SRE_Match object; span=(0, 10), match='ART-4.5-11'>
re.match(pattern, "ART5411")
# <_sre.SRE_Match object; span=(0, 7), match='ART5411'>
re.match(pattern, "aRT-4!5-11") # No match
re.match(pattern, "76543")
# <_sre.SRE_Match object; span=(0, 5), match='76543'>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
899 次 |
| 最近记录: |