Могу ли я хранить и вызывать регулярные выражения в переменных для дальнейшего использования? - PullRequest
0 голосов
/ 19 марта 2010

Я планирую хранить коды регулярных выражений в базе данных, но не знаю, как получить их из переменной в функцию.

Любой совет?

$i = "([wx])([yz])" 
$j = "[^A-Za-z0-9]" 
$k= "([A-Z]{3}|[0-9]{4})"

    //Wold this execute properly, this really is the extent of my question? 
    preg_match($i, $string);

Ответы [ 2 ]

2 голосов
/ 17 января 2017

Должно работать, единственное, чего вам не хватает - это разделителей.

http://php.net/manual/en/regexp.reference.delimiters.php

При использовании функций PCRE требуется, чтобы шаблон был заключен вразделители.Разделителем может быть любой не алфавитно-цифровой символ без обратной косой черты, без пробела.

Часто используемыми разделителями являются косые черты (/), знаки хеша (#) и тильды (~).Ниже приведены примеры допустимых шаблонов с разделителями.

/foo bar/
#^[^0-9]$#
+php+
%[a-zA-Z0-9_-]%

Вы также можете хранить выражения без разделителей и добавлять их позже.

2 голосов
/ 19 марта 2010

Регулярные выражения - это просто строки, так что вы можете хранить их как таковые в своей базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...