#python #regex #grouping
#python #регулярное выражение #группировка
Вопрос:
У меня есть строка ниже :
/begin MEASUREMENT MSM_Struct.ANYNAME"Status ASC"
и я хочу узнать ANYNAME
из строки. Я попробовал следующее выражение:
_regex_struct = re.compile(r'/begin MEASUREMENT MSM_Struct.[w] ')
Использование group(0)
дает мне такой результат:
/begin MEASUREMENT MSM_Struct.ANYNAME
Как получить ANYNAME
на выходе?
Ответ №1:
Вам нужно экранировать .
(поскольку вам нужно сопоставить буквенную точку, а не любой символ), заключить w
в захватывающие круглые скобки (также отбросьте избыточный [...]
раунд w
) и получить значение в m.group(1)
.
_regex_struct = re.compile(r'/begins MEASUREMENT MSM_Struct.(w )')
m = _regex_struct.search(s)
if m:
print(m.group(1))
Смотрите демонстрацию регулярных выражений и демонстрацию Python.
Обратите внимание, что я использовал s
для сопоставления 1 или более пробелов вместо обычного пробела.