Как найти конкретное слово из подобранного выражения? - PullRequest
2 голосов
/ 27 марта 2019

У меня есть строка ниже:

/ begin MEASUREMENT MSM_Struct.ANYNAME "Статус ASC"

и я хочу узнать «ЛЮБОЕ» из строки. Я попробовал ниже выражение:

   _regex_struct = re.compile(r'/begin MEASUREMENT MSM_Struct.[\w]+')

Использование 'group (0)' дает мне вывод ниже:

/ begin MEASUREMENT MSM_Struct.ANYNAME

Как получить 'ANYNAME' на выходе ???

1 Ответ

4 голосов
/ 27 марта 2019

Вам нужно экранировать . (так как вам нужно совпадать с буквальной точкой, а не каким-либо символом), обернуть \w+ захватывающими скобками (также отбросьте лишнюю [...] round \w) и получите значение в m.group(1).

_regex_struct = re.compile(r'/begin\s+MEASUREMENT MSM_Struct\.(\w+)') 
m = _regex_struct.search(s)
if m:
    print(m.group(1))

См. Демонстрационную версию regex и демонстрационную версию Python .

Примечание. Я использовал \s+ для сопоставления 1 или более пробелов вместо обычного пробела.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...