【问题标题】:Regular Expression to find specific words in lines. search() function正则表达式在行中查找特定单词。搜索()函数
【发布时间】:2020-03-23 14:31:41
【问题描述】:

我有一个脚本可以在行中查找特定单词。我使用了正则表达式(在本例中为 search())以尽可能快地获得结果。

我正在寻找第 2 行中的“NOMINAL”...

您可以在此处找到 .csv 文档的摘录:

<Set Name= Test>
    <TYPE NAME= Hello>
        <NOMINAL A= B= C= D= E= F= G=1.10 H=2.20 I=3.30 J=>
        <2ND_NOMINAL A= B= C= D= E= F= G=11.00 H=22.00 I=33.00>

这是我的脚本:

import itertools
import re


df = open('TESTSOV.csv')
for i,line in enumerate(itertools.islice(df, 0, 4)):
        if "TYPE=" in line:
            name.append(re.findall('NAME= (.*?\s)',line))
        if re.search(r"^NOMINAL",line):
            print(i,'v')

输出:

2v

3v

search() 函数返回第 2 行 (NOMINAL) 和第 3 行 (2ND_NOMINAL)。 如何搜索 NOMINAL(仅)?

我也用过“^”在标称前(“^NOMINAL”),没有成功……

有人有想法吗?

问候, 乙

【问题讨论】:

    标签: regex python-3.x search


    【解决方案1】:

    使用单词边界,改变:

    re.search(r"^NOMINAL",line):
    

    收件人:

    re.search(r"\bNOMINAL\b",line):
    

    【讨论】:

      猜你喜欢
      • 2022-08-18
      • 2022-07-14
      • 1970-01-01
      • 2012-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-03
      相关资源
      最近更新 更多