Проверить строку на наличие фрагмента шаблона регулярного выражения.

В отличии от команды str_regex_match(), шаблон может содержать конструкции типа (?=text) и (?!text). Это позволяет делать запросы с тестированием на то, что строка содержит какие-то фрагменты, а другие фрагменты не содержит.

Например:

(?=Утеплитель)(?=.*минерал.*)(?=.*ват.*)(?!.*рулон.*)

Это означает, что мы хотим выбрать строки, подержащие такой текст:

Минераловатный утеплитель

Утеплитель из минеральной ваты

Утеплитель из минерало-ватных плит

Но в выборку не попадут

Утеплитель рулонный из минеральной ваты


Это удобно, если нужно одним оператором проверить наличие в тексте, например, фрагмента типа "В22", когда есть вероятность, что это написано большой 'В', или маленькой 'в', на английском или русском алфавите (см regex шаблоны).


Вызов:

bool str_regex_search(string source, string code);


Здесь:

source - строка, в которой производится поиск,

code - регулярное выражение.