2015-12-19 2 views
1

Мне нужно определить, что текущий текст содержит следующие ключевые слова «гостевой пост», «гостевая почта», «гостевой вкладчик», «гость-и т. Д.».Упрощение запроса нескольких или регулярных запросов

Я могу написать запрос, как показано ниже.

"guest.?post|guest.?write|guest.?contributor|guest.?etc" 

Я ищу способ сделать этот запрос регулярного выражения короче.

+0

Мне нравится идея 'guestpost', соответствующая регулярным выражениям ниже. –

ответ

2

Поместите общий префикс вне группы, и альтернативы внутри группы.

guest.?(?:post|write|contributor|etc) 
+0

Спасибо, что работает отлично – Freshblood

2

Если «гость» является постоянным, то вы можете переместить его из чередований:

Example Here

guest.?(?:post|write|contributor|etc) 
+0

Разделитель не всегда является пространством, см. 'Guest-etc'. – Barmar