Python 正则表达式匹配数字及字符串中的纯数字
Python正则表达式匹配数字
电话号码:\d{3}-\d{8}|\d{4}-\d{7}
QQ号:[1-9][0-9]{4,}
中国邮政编码:[1-9]\d{5}(?!\d)
身份证:\d{15}|\d{18}
ip地址:\d+\.\d+\.\d+\.\d+
[1-9]\d* 正整数
-[1-9]\d*负整数
-?[1-9]\d*整数
[1-9]\d*|0非负整数
-[1-9]\d*|0非正整数
[1-9]\d*\.\d*|0\.\d*[1-9]\d*$正浮点数
-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$负浮点数
-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$浮点数
匹配价格,并输出平均价格
importre price='25.34-34.55' test=re.compile(r'[1-9]\d*\.\d*|0\.\d*[1-9]|[1-9]\d*').findall(price)[0] test2=re.compile(r'-[1-9]\d*\.\d*|-0\.\d*[1-9]|-[1-9]\d*').findall(price)[0] i=float(test) x=-float(test2) r=(x+i)/2 printr
知识点扩展:python正则表达式找出字符串中的纯数字
1、简单的做法
>>>importre >>>re.findall(r'\d+','hello42I'ma32string30') ['42','32','30']
然而,这种做法使得字符串中非纯数字也会识别
>>>re.findall(r'\d+',"hello42I'ma32str12312ing30") ['42','32','12312','30']
2、识别纯数字
如果只需要用单词边界(空格,句号,逗号)分隔的数字,你可以使用\b
>>>re.findall(r'\b\d+\b',"hello42I'ma32str12312ing30") ['42','32','30'] >>>re.findall(r'\b\d+\b',"hello,42I'ma32str12312ing30") ['42','32','30'] >>>re.findall(r'\b\d+\b',"hello,42I'ma32str12312ing30") ['42','32','30']
总结
以上所述是小编给大家介绍的Python正则表达式匹配数字及字符串中的纯数字,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!