Добрый день, просто хочу извиниться за мой английский - факт, что я использую переводчик Google. Покажите, как это регулярное выражение в Python не связано с индексом с именем group 1 и группой с именем ID111?Регулярное выражение в python
Это регулярное выражение я использую:
r'(^RU)?(?P<ID111>(?(1).+|[\d]{5}))'
Вот строка, где выполняется поиск:
RU Д-SK.ПК05.В.02695.jpeg (начинается с ТС)
Вот ссылка на удобный сервис для проверки с помощью уже подвергается данные регулярное выражение:
https://regex101.com/r/mDh0kZ/1
Дело в том, что если строка, в которой мы искали, возвращает true, тогда группа 'ID111' пропускает всю строку по назначению и только то, что приходит после группы индекса 1. Я хочу решить ее только с помощью регулярного выражения.
Я был бы вам очень признателен за любую помощь.
Итак, что не работает и как оно должно работать? Обратите внимание, что вы можете задать вопрос по-русски [здесь] (http://ru.stackoverflow.com/questions/tagged/%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1% 8F% D1% 80% D0% BD% D1% 8B% D0% B5-% D0% B2% D1% 8B% D1% 80% D0% B0% D0% B6% D0% B5% D0% BD% D0% B8 % D1% 8F). –
@WiktorStribizew Необходимо, чтобы на рабочем блоке '(1) + |? . 'Показывает 'RU D-SK.PK05.V.02695.jpeg (начинается с TC)', а не 'D-SK.PK05.V.02695.jpeg (начинается с TS)' –
Я не уверен, что вы хотите попасть в конец, но попробуйте 'r '^ RU. + | \ d {5}'' ([demo] (https://regex101.com/r/mxWqdG/3)). Я думаю, вы хотите использовать его с 're.search', проверить, есть ли совпадение, а затем получить значение' match.group() '. –