2015-10-07 3 views
-2

Я хочу иметь возможность сопоставить шаблон регулярного выражения, когда середина строки может измениться. Я делаю это при чтении вывода команды, поэтому мне нужно сопоставить и другие слова на выходе.Как использовать трубку в регулярном выражении, чтобы совместить середину строки?

Как маленький пример того, что я пытаюсь достичь,

str1 = 'This is my SAS test' 
str2 = 'This is my SATA test' 

Я хочу сделать регулярное выражение шаблон, который будет соответствовать как str1 и str2, держа другой текст в шаблоне.

Единственный способ я вижу, что я могу добиться этого является, сделав шаблон регулярного выражения

'This is my SAS test|This is my SATA test' 

Я бы очень понравилось, если бы я мог сделать это просто и просто иметь что-то вроде этого (я знаю, что это Безразлично» т):

'This is my SAS|SATA test' 

Любые идеи?

ответ

1

Вы хотите использовать группу. Если вы не хотите, чтобы захватить его, использовать не захватывая группу так:

/This is my (?:SAS|SATA) test/ 

Это связано с оператором чередованием, имеющего абсолютный минимум приоритет. Сгруппировав его, он может правильно обработать подвыражение.

1

Используйте группу: This is my (SAS|SATA) test.

Смежные вопросы