python正则表达式(re)基础:查所有(findall)匹配和浮点数和整数
我们通过前⾯的例⼦可以知道,在正则表达式中,?表⽰的是0次或者1次,+表⽰的是1次或者多次,这个有点像word当中的通配符的作⽤。另外,我们可以使⽤.来表⽰⼩数点,因此可以使⽤\d+.?\d+的组合来表⽰浮点数或者整数。但是这个表达式有个bug,就是没法识别个位数整数,因此我们可以使⽤更好的写法来代替他,即r’\d+.\d+|\d+’。其中|表⽰或,在前⾯的表达式不满⾜的情况下再去匹配后⾯的表达式。
import re
print("*********匹配数字********")
s ="⼀共有6个⼈跑进了13.33秒⼤关"
pat = r'\d+'
result = re.findall(pat,s)
print(result)
print(type(result))
print("*********匹配浮点数和整数********")
pat = r'\d+\.?\d+'
result = re.findall(pat,s)
python正则表达式不包含
print(result)
print(type(result))
print("*********更好的写法********")
pat = r'\d+\.\d+|\d+'
result = re.findall(pat,s)
print(result)
print(type(result))
结果如下:
*********匹配数字********
['6','13','33']
<class'list'>
*********匹配浮点数和整数********
['13.33']
<class'list'>
*********更好的写法********
['6','13.33']
<class'list'>
[Finished in1.5s]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。