Я намагаюся написати регулярний вираз, щоб відповідати наступному:
act=MATCHME
act=Match me too
Я маю наступний регулярний вираз для відповідності одному, але не обох. Ось мої зусилля:
matches MATCHME: act=(w+)
matches Match me too: (w+sw+sw+)
Чи можна взагалі об'єднати два з АБО, або я можу дивитися на це неправильно?
Я використовую двигун регулярних виразів JAVA.
Відповіді:
2 для відповіді № 1Можна використовувати необов'язкову групу без збору даних:
act=(w+(?:s+w+s+w+)?)
^^^^^^^^^^^^^^^^^
Див регулярний вираз демонстрації
The ?
збігається з 1 або 0 входженнями кількісного підшаблону. Коли воно застосовується до конструкта групування, кількісна оцінка застосовується до цілого послідовності візерунків, так (?:s+w+s+w+)?
збігається з 1 або 0 послідовностями з 1 + пробілів, 1 + символів слова, 1 + пробілів і знову 1 + символів слова.
Ви можете додатково підсегментувати шаблон, якщо вам потрібно захопити підрядки з двох слів після act=
.
0 для відповіді № 2
Напевно, ви знаєте, як складати регулярні вирази чергування.
0 для відповіді № 3
Цей регулярний вираз може допомогти вам
^[a-zA-Z ]*$