重新模块
Python 有一个正则表达式模块,该模块可用于从文本中进行基于编程模式的提取。
re 是 Python 3 中的正则表达式模块。
这是一种适用于您的特定情况的模式(但可能需要根据字符串的一致性进行更改)
图案
找出适合您的情况的模式 - 在您的情况下,我们可以确定以下内容:
按顺序组合这些功能:
pattern = r'[0-9]+\.[0-9E-]+'
注意,在许多正则表达式示例中,字符串前的 r'...' 通常是一个 - r 表示一个原始字符串,可以更好地处理字符串中的潜在转义字符。
Python 中的正则表达式
我们需要将它编译为一个正则表达式(regex)对象:
prog = re.compile(pattern)
findall 方法将返回所有字符串(不重叠)的列表 - 还有其他方法,例如 re.search 和 re.match,它们具有其他特定输出:
results = re.findall(prog, your_string)
测试
import re
mystr = 'Component Sizin1..31927J-003ggnoor' \
' Ar1.31927E-003ea' \
' du' \
'rin1g.31927E-003g Re' \
'he1.t31927E-003at ' \
'[m3/s-m1.34545457E-0032], 1.3' \
'191.31927E-00327' \
'E-01...31927E-00303'
pattern = r'[0-9]+\.[0-9E-]+'
prog = re.compile(pattern)
results = re.findall(pattern, mystr)
print(results)
.........
['1.31927E-003', '1.34545457E-0032', '1.3191']
要学习正则表达式需要练习(和良好的交互环境)——例如regex101