python正则匹配数字或者汉字

1、正则匹配汉字

import re
str1='hjggj小vjjk明'
pat=re.compile(r'[\u4e00-\u9fa5]+')
result=pat.findall(str1)
print(result)
# 输出['小', '明']

2、正则匹配数字

import re
re.findall(r'\d+', 'hello 42 I'm a 32 string 30')
# ['42', '32', '30']

re.findall(r'\d+', "hello 42 I'm a 32 str12312ing 30")
['42', '32', '12312', '30']

这种做法使得字符串中非纯数字也会识别

识别纯数字,如果只需要用单词边界( 空格,句号,逗号) 分隔的数字,你可以使用 \b

re.findall(r'\b\d+\b', "hello 42 I'm a 32 str12312ing 30")
# ['42', '32', '30']
re.findall(r'\b\d+\b', "hello,42 I'm a 32 str12312ing 30")
# ['42', '32', '30']
re.findall(r'\b\d+\b', "hello,42 I'm a 32 str 12312ing 30")
# ['42', '32', '30']
发布了96 篇原创文章 · 获赞 66 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/qingfengxd1/article/details/103756294