[英]Regular Expression for numbers and letters but not only numbers
我有这个字符串:
S3UPLOAD:Uploading file: /var/mobile/Applications/999445D0-5B4D-4078-9B81-4F65D3474971/Documents/2014-08-25 Driving 22.58.39/2014-08-25 Driving 22.58.39.vmd.zip 783:00
我想找到一个仅与S3UPLOAD:
子字符串匹配但不匹配783:
的正则表达式。 子字符串可以仅包含大写字母和数字,也可以仅包含大写字母,不能仅包含数字。
尝试了这个经验。
/[A-Z][A-Z0-9]+:/
但效率不高,因为它也会匹配783:
子字符串。
您可以尝试使用以下正则表达式来匹配包含大写字母和数字或仅包含大写字母(而非仅包含数字)的子字符串。
[A-Z0-9]*[A-Z][0-9][A-Z0-9]*:|[A-Z]+:
>>> import re
>>> s = "S3UPLOAD:Uploading file: /var/mobile/Applications/999445D0-5B4D-4078-9B81-4F65D3474971/Documents/2014-08-25 Driving 22.58.39/2014-08-25 Driving 22.58.39.vmd.zip 783:00"
>>> m = re.search(r'[A-Z0-9]*[A-Z][0-9][A-Z0-9]*:|[A-Z]+:', s).group()
>>> m
'S3UPLOAD:'
仅涵盖大写字母,并与数字混合。 但必须包含资本。
[A-Z0-9]*[AZ][A-Z0-9]*:
像这样
/([A-Z]*[0-9]*[A-Z]+)+/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.