用正则表达式匹配(match)正整数

我们可以使用正则表达式来代表一些我们希望的字符串类型,比如正整数,我们就可以使用 pat = r’^ [1-9]\d* r h e a d e r " " ' 这个模式来表示。也就是符合这个表达式的字符串,他就是一个正整数。这样就通过正则表达式建立了字符串和整数之间的关系。我们再次复习一下正则表达式中的符号,r表示正则表式的头(header),引号("")表示我们需要操作的是字符串对象,引号中^表示这个字符串的开头, 表示字符串的结尾,[1-9]表示数字1和9中的1个,\d(decimal)表示任意十进制数字,*表示任意多个(0个、1个或者多个)。

示例代码如下:

import re
s 	= 	[1.5,	-16,	11.43,	10,	5]
pat	=	r'^[1-9]\d*$' #$的作用在于保证以数字结尾,而不是字母,否则这就不是一个数字了
for i in s:
	if re.match(pat,str(i)):
		print(re.match(pat,str(i)))
		print(i)
	else:
		pass

运行结果如下:

<_sre.SRE_Match object; span=(0, 2), match='10'>
10
<_sre.SRE_Match object; span=(0, 1), match='5'>
5
[Finished in 0.5s]
发布了152 篇原创文章 · 获赞 6 · 访问量 4040

猜你喜欢

转载自blog.csdn.net/weixin_41855010/article/details/104431671