我有一个格式为results_item12345
. 数字部分的长度为四位或五位。字母总是小写的,并且在非数字部分的某处总是有一个下划线。
我尝试使用以下方法提取它:
import re
string = 'results_item12345'
re.search(r'[^a-z][\d]',string)
但是,我只得到最左边的两位数。我怎样才能得到整个号码?
假设您只关心字符串末尾的数字,以下表达式匹配字符串末尾的 4 或 5 位数字。
\d{4,5}$
否则,以下将是匹配所提供要求的完整正则表达式。
^[a-z_]+\d{4,5}$
如果您只想匹配字符串中的任何数字,您可以搜索:
r'[\d]{4,5}'
如果您需要某种类型的验证,您需要使用:
r'^result_item[\d]{4,5}$'
import re
a="results_item12345"
pattern=re.compile(r"(\D+)(\d+)")
x=pattern.match(a).groups()
print x[1]