Как я могу получить определенные c данные после определенного c шаблона с помощью регулярного выражения - PullRequest
0 голосов
/ 19 июня 2020

У меня есть следующие данные:

policy output MRSUU_1:6-828

Как я могу использовать регулярное выражение для поиска моих данных, которые всегда будут в этом формате:

policy output MRSUU_(digit)(colon)(digit)(hyphen)828

Я хочу иметь возможность ищите мои данные, как указано выше, но получите что-нибудь после дефиса .. так что мой поиск всегда будет искать вывод строковой политики MRSUU_, а затем di git, двоеточие, di git, дефис, а затем возвращать мне все, что стоит после ...

output answer wanted : 828

Ответы [ 2 ]

2 голосов
/ 19 июня 2020

Это должно сработать для вас:

import re

text = "policy output MRSUU_1:6-828"
res = re.search(r"MRSUU_\d+:\d-(\d+)", text)
res.groups()

вывод:

('828',)
1 голос
/ 19 июня 2020

Иногда пара действительно простых инструментов (проверка префикса и разделение) будет работать так же хорошо, как один сложный инструмент (регулярное выражение). Какой подход лучше, будет зависеть от природы ваших входных данных и от того, насколько надежным должен быть ваш код, но мой с трудом заработанный совет по синтаксическому анализу предпочитаю более простые методы до тех пор, пока вы не будете уверены, что они не сработают.

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