Я пишу регулярное выражение Perl, чтобы сопоставить обе строки x bla
и [x] bla
. Одна альтернатива - / (?: x | \ [x \]) bla /
. Это нежелательно, потому что в реальном мире x
более сложный, поэтому я хочу избежать его повторения.
Лучшее решение на данный момент - поместить x
в переменная и предварительная компиляция регулярного выражения:
my $x = 'x';
my $re = qr/(?:$x|\[$x\]) bla/o;
Есть ли более удобное решение? В этом случае удобочитаемость важнее производительности.