Регулярное выражение для сопоставления цифр

#regex

Вопрос:

Моя тестовая строка:

 Continuity:pass_mV[12]#x_u_123
 

Мое регулярное выражение:

 (?P<VOL>.*):.*(?P<DIGIT>[d] )]#(?P<PIN>.*)$
 

Мои спички:

 VOL Continuity
DIGIT   2
PIN x_u_123
 

Мое намерение совпадает:

 VOL Continuity
DIGIT   12
PIN x_u_123
 

Цифры в скобках должны быть только 1 или 2 .

Может ли кто-нибудь помочь с изменением моего регулярного выражения для достижения этой цели?

Ответ №1:

В принципе, измените .*([d] )] на .*[(d ).* :

 (?P<VOL>.*):.*[(?P<DIGIT>d ).*#(?P<PIN>.*)$
 

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

Ответ №2:

Попробуй вот это:

 (?P<VOL>.*):.*[(?P<DIGIT>[1-2] )]#(?P<PIN>.*)$
 

Комментарии:

1. Спасибо вам также за полезный ответ, но я должен был дать лучший ответ на самый ранний.