Я хотел бы поймать слова
ferrari
, ferry
и ferret
.
Регулярное выражение может быть легко:
/ferr(ari|y|et)/
Однако я заметил закономерность: когда вы хотите захватить несколько вариантов одного слова, вы можете использовать квадратную скобку [wordsToCapture]
. Например, я хотел бы поймать слова: vowel a
, vowel e
, vowel u
, vowel o
, vowel i
.
Регулярное выражение может быть: vowel [aeiou]
, которое имеет меньше шума, чем vowel (a|e|i|o|u)
Поэтому я попытался использовать квадратную скобку, чтобы поймать несколько вариантов сгруппированных слов . Тем не менее, [...]
(квадратная скобка) делает мою группу захвата ((...)
круглую скобку) бесполезной, то есть, если я использую это регулярное выражение ferr[(ari)(y)(et)]
, вместо этого оно будет соответствовать: ferr(
, ferra
, ferrr
, ferri
, и список продолжается для каждого одного из символов, представленных в квадратной скобке .
Есть ли способ сделать так, чтобы группа захвата, заключенная в квадратные скобки внутри моей группы, сохранила свое особое значение, что сделало мой RegExp более кратким? Или есть другой способ сделать его более кратким?