python如何用正则匹配数字
王依婷 2023-07-09编程经验
正则表达式匹配Python内置了re模块,可以方便地使用正则表达式匹配。下面的代码展示了如何使用re模块匹配一个字符串中的数字:importres="abc123def"#匹配数字pattern=re.co
正则表达式匹配
Python内置了re模块,可以方便地使用正则表达式匹配。
下面的代码展示了如何使用re模块匹配一个字符串中的数字:
import re
s = "abc123def"
# 匹配数字
pattern = re.compile(r"\d+")
result = pattern.findall(s)
print(result) # 输出 ['123']
在上面的示例中,我们创建了一个正则表达式对象,使用该对象的findall方法从字符串s中匹配数字,并将结果保存在变量result中。
匹配指定范围内的数字
有时候,我们需要匹配指定范围内的数字。例如,匹配大于等于1000的数字。
可以使用正则表达式的特殊语法来实现。在正则表达式中,可以使用大括号{}指定匹配数字的位数范围。
import re
s = "1000 abc 2000"
# 匹配大于等于1000的数字
pattern = re.compile(r"\d{4,}")
result = pattern.findall(s)
print(result) # 输出 ['1000', '2000']
在上面的示例中,我们使用正则表达式'\d{4,}'匹配大于等于4位的数字。
匹配整数和小数
有时候,我们需要匹配整数和小数。
可以使用正则表达式实现。在正式表达式中,可以使用或操作符|来匹配整数和小数。
import re
s = "1 1.0 2.5"
# 匹配整数和小数
pattern = re.compile(r"\d+\.?\d*|\.\d+")
result = pattern.findall(s)
print(result) # 输出 ['1', '1.0', '2.5']
在上面的示例中,我们使用正则表达式'\d+\.?\d*|\.\d+'来匹配整数和小数,并将结果保存在变量result中。
匹配科学计数法表示的数字
有时候,我们需要匹配科学计数法表示的数字。
可以使用正则表达式实现。在正则表达式中,可以使用小写e和大写E来匹配科学计数法中的e和E。
import re
s = "1.0e+3 2.5E-4"
# 匹配科学计数法表示的数字
pattern = re.compile(r"\d+\.?\d*[eE][+-]?\d+")
result = pattern.findall(s)
print(result) # 输出 ['1.0e+3', '2.5E-4']
在上面的示例中,我们使用正则表达式'\d+\.?\d*[eE][+-]?\d+'来匹配科学计数法表示的数字,并将结果保存在变量result中。
很赞哦! ()