python Regex-根据条件获取匹配

标签 python regex

我有以下文本字符串

text = "\n1.2.2. ROAD LOAD PARAMETERS \nf0 \n227.4 \nf1 (N/(km/h)) \n0.149"

我正在尝试编写一个正则表达式匹配模式来获取 '1.2.2 之后的值(连续 2 个值)。道路荷载参数'

预期输出:

1.2.2. ROAD LOAD PARAMETERS : f0 227.4 # (only 2 values after the match)

尝试了以下正则表达式:

ec = re.search(r'(1.2.2. ROAD LOAD PARAMETERS)\s*(.+)', text)

ec.groups()

这给了我以下内容

('1.2.2. ROAD LOAD PARAMETERS', 'f0 ')

最佳答案

您可以使用str.split()方法:

import re

text = "\n1.2.2. ROAD LOAD PARAMETERS \nf0 \n227.4 \nf1 (N/(km/h)) \n0.149"

i = "1.2.2. ROAD LOAD PARAMETERS"

val1, val2 = text[text.index(i) + len(i):].split()[:2]
print(i, ":", val1, val2)

输出:

1.2.2. ROAD LOAD PARAMETERS : f0 227.4

关于python Regex-根据条件获取匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68035295/

相关文章:

正则表达式 - 匹配无限数量。固定长度的单词

c# - Regular Expressions-VAlidation String-REAL菜鸟问题:)

python - Docker容器在运行flask应用程序后立即退出

python - 在 Python (pandas) 的多列中进行 Vlookup

python - 如何使用 python、html.parser 和正则表达式提取 url

regex - 为什么 `perl -i -p0e <expression>` 有效,但 `perl -0 -pie <expression>` 无效?

以“开头但不以”结尾的字符串的正则表达式

python - 如何从同一数据帧中查找另一列中包含唯一值的列值?

python - Windows 注册表值以长整数形式返回

python - 为新样式 ipython (v5) 提示添加颜色