Regex з пробілами - java, regex, whitespace

Я намагаюся написати регулярний вираз, щоб відповідати наступному:

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 ]*$