Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
~(?:word1\s*|word2\s*|word3\s*|word4\s*){4}~
/(?:(инфраструктура|инфраструктуры|инфраструктуре|инфраструктуру|инфраструктурой|инфраструктурою|инфраструктур|инфраструктурам|инфраструктурами|инфраструктурах)\s*|
(сесть|сел|села|село|сели|сяду|сядем|сядешь|сядете|сядет|сядут|сев|севши|сядемте|сядь|сядьте|севший|севшего|севшему|севшим|севшем|севшая|севшей|севшую|севшею|севшее|севшие|севших|севшими|селу|селом|селе|селам|селами|селах)\s*|
(и)\s*|
(ее|она|нее|ней|ей|ею|нею)\s*|
(роля|роли|роле|ролю|ролей|ролею|роль|ролям|ролями|ролях|ролью)\s*|
(в)\s*|(развитие|развитье|развития|развитья|развитию|развитью|развитием|развитьем|развитии|развитьи|развитий|развитиям|развитьям|развитиями|развитьями|развитиях|развитьях)\s*|
(сельскохозяйственный|сельскохозяйственного|сельскохозяйственному|сельскохозяйственным|сельскохозяйственном|сельскохозяйственная|сельскохозяйственной|сельскохозяйственную|сельскохозяйственною|сельскохозяйственное|сельскохозяйственные|сельскохозяйственных|сельскохозяйственными|сельскохозяйствен|сельскохозяйственен|сельскохозяйственна|сельскохозяйственно|сельскохозяйственны|сельскохозяйственнее|сельскохозяйственней|посельскохозяйственнее|посельскохозяйственней)\s*|
(производство|производства|производству|производством|производстве|производств|производствам|производствами|производствах)\s*){3,10}/uism
// essential for huge PCREs
ini_set("pcre.backtrack_limit", "230013370");
ini_set("pcre.recursion_limit", "230013370");
// imagine your PCRE here...
Сейчас первым шагом ищу каждое отдельное слово. Если оно есть в тексте, то включаю в регулярку, если его нету, то исключаю. В результате размер регулярки значительно уменьшился... время выполнения скрипта увеличилось...Лучше изменить алгоритм, например: разбивать текст на слова и искать нужные слова и их последовательность. Не все задачи рационально решать с помощью регулярок.
word1, word2, word3 - исходные слова, что и выше. Могут встречаться в произвольном перемешанном варианте. Между ними от 0 до 4 слов с произвольными знаками препинания.word1 (от 0 до 4 произвольных любых слов в тексте) word2 (от 0 до 4 произвольных любых слов в тексте) word3
( (?(-1) (?!) | pattern ) )
(
слово
|
( (?(-1) (?!) | предлог ) )
|
( (?(-1) (?!) | предлог ) )
){20}