【Python】从文本中提取数字

使用以下正则表达式的下列模式用以提取文本中包含的数字:

pattern = r'[^+\-\d]*([+-]?\d+([.,]\d+)?).*'

模式 1:正整数

text = '123`
result = re.match(pattern, text)
print(result[1])  # => 123

text = '+123`
result = re.match(pattern, text)
print(result[1])  # => +123

模式 2:负整数

text = '-123`
result = re.match(pattern, text)
print(result[1])  # => -123

模式 3:小数

text = '123.456`
result = re.match(pattern, text)
print(result[1])  # => 123.456

text = '+123.456`
result = re.match(pattern, text)
print(result[1])  # => +123.456

text = '-123.456`
result = re.match(pattern, text)
print(result[1])  # => -123.456

模式 4:包含数字和非数字字符

text = '今天气温-10.5度`
result = re.match(pattern, text)
print(result[1])  # => -10.5

模式 5:当小数点为 ,(欧洲的表示法)

text = '今天的气温是-10,5度`
result = re.match(pattern, text)
print(result[1])  # => -10,5

猜你喜欢

转载自blog.csdn.net/Allan_lam/article/details/135009543