正则表达式查找字符串的完全匹配

时间:2016-12-07 12:32:49

标签: python regex

您好我有

等记录
MicroAlgae 7.5
AlgaeSerum 6.5
Algae 1.5

在这里,我需要提取1.5的藻类的价值,它不应该提取微藻和藻类的价值。我使用正则表达式

/(?!Micro)/Algae,
Algae\s*/^(!Serum)/,
\\bAlgae\\b

请告诉我如何根据

编写正则表达式

1 个答案:

答案 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]+)序列