Я пытаюсь проверить условные выражения регулярных выражений, как на этой странице, но когда я набираю просто простой пример, как так (?(A)X|G)
на этом замечательном сайте тестирования регулярных выражений он возвращает мне "ошибку шаблона".
2 ответа
Предложение A Предложение A может быть одним из нескольких видов утверждений, которые механизм регулярных выражений может проверить и определить как истинные или ложные. Эти различные виды утверждений выражаются небольшими вариациями условного синтаксиса.
Таким образом, A
либо необходимо заменить допустимым выражением, либо должна быть группа захвата, определяемая именем A
Так не работает условное регулярное выражение.
(A)
должно быть чем-то, что может быть оценено как истинное или ложное. Если вы хотите соответствовать AX
или .G
вы должны использовать: ^(A)?(?(1)X|G)
.
Если в начале строки есть A
, группа 1 установлена, тогда следующий символ должен быть X
иначе (не A
), следующий символ должен быть G