Регулярное выражение для поиска указанных c слов в строках. функция поиска () - PullRequest
0 голосов
/ 23 марта 2020

У меня есть скрипт для поиска указанных c слов в строках. Я использовал регулярное выражение (search () в этом случае), чтобы получить результат как можно быстрее.

Я ищу "NOMINAL" в строке 2 ...

здесь вы можете найдите выдержку из 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')

Вывод:

2 v

3 v

Функция search () возвращает строку 2 (NOMINAL) и строку 3 (2ND_NOMINAL). Как я могу найти NOMINAL (только)?

Я также использовал "^" перед Nominal ("^ NOMINAL"), но безуспешно ...

У кого-нибудь есть идея?

С уважением, B

1 Ответ

0 голосов
/ 23 марта 2020

Используйте границы слов, измените:

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

Кому:

re.search(r"\bNOMINAL\b",line):
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...