您好我有
等记录MicroAlgae 7.5
AlgaeSerum 6.5
Algae 1.5
在这里,我需要提取1.5的藻类的价值,它不应该提取微藻和藻类的价值。我使用正则表达式
/(?!Micro)/Algae,
Algae\s*/^(!Serum)/,
\\bAlgae\\b
请告诉我如何根据
编写正则表达式答案 0 :(得分:1)
如果你有一些需要从中提取数字的大文本,你可以使用一个简单的正则表达式,在你需要提取的部分周围有一个捕获组:
import re
s = """MicroAlgae 7.5
AlgaeSerum 6.5
Algae 1.5"""
m = re.search(r'\bAlgae\s+([0-9.]+)', s)
if m:
print(m.group(1))
请参阅Python demo
[0-9.]+
可能会被更精确的[0-9]+(?:\.[0-9]+)?
替换。
<强>详情:
\b
- 领先的单词边界Algae
- 文字字符序列Algae
\s+
- 一个或多个空格([0-9.]+)
- 第1组:一个或多个数字或点或[0-9]+(?:\.[0-9]+)?
- 1位数字([0-9]+
),后跟可选的.
(\.
)和1位数字([0-9]+
)序列