Строка соответствия с последней частью

55
5

У меня есть следующее регулярное выражение:

/{{trans-template-id:(\d)+}}/i

И он идеально подходит {{trans-template-id:7}}.

Однако я хочу изменить его, чтобы он соответствовал {{trans-template-hash:asdf1234}}. Как мне это изменить?

Я получил это далеко, но я не знаю regex достаточно хорошо, кажется:

/{{trans-template-(id:(\d)+|hash:[a-zA-Z0-9]+)}}/i

спросил(а) 2016-05-26T13:46:00+03:00 4 года, 1 месяц назад
1
Решение
68

Если вы хотите создать общую группу, вы можете использовать

{{trans-template-(id|hash):((?<=id:)\d+|(?<=hash:)\w+)}}

Демо-версия Regex

Вы также можете использовать сброс ветвей, например

{{trans-template-(?|id:(\d+)|hash:(\w+))}}

Демо-версия Regex

ответил(а) 2016-05-26T13:52:00+03:00 4 года, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема