Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用正则表达式时获取未知修饰符错误_Php_Regex_Preg Match_Preg Match All - Fatal编程技术网

Php 使用正则表达式时获取未知修饰符错误

Php 使用正则表达式时获取未知修饰符错误,php,regex,preg-match,preg-match-all,Php,Regex,Preg Match,Preg Match All,我对常规表达式不是很了解,所以我不明白为什么会出现这个错误 我正在使用以下代码匹配字符串$str中的所有电子邮件,并将它们保存在数组$match: preg_match_all( "/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/", $str, $match ); 显然,正则表达式中有一个问题(我从中获得),因为我得到了以下错误: 警告:preg_match_all()

我对常规表达式不是很了解,所以我不明白为什么会出现这个错误

我正在使用以下代码匹配字符串
$str
中的所有电子邮件,并将它们保存在数组
$match

preg_match_all(
    "/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/",
    $str,
    $match
);
显然,正则表达式中有一个问题(我从中获得),因为我得到了以下错误:

警告:preg_match_all()[function.preg match all]:未知修饰符 上的C:\xampp\htdocs\project\Framework\Sanitizer.class.php中的“=” 第38行

谁能告诉我有什么问题吗


谢谢

您需要用反斜杠转义该字符串中的许多字符。 有些你想逃避的是:/?^{124;}

我会这样写:

preg_match_all(
    "/^[a-zA-Z0-9.!#$%&’*+\/=\?\^_`\{\|\}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/",
    $str,
    $match
);
我发现该网站在匹配电子邮件地址时非常有用:


您需要用反斜杠转义该字符串中的许多字符。 有些你想逃避的是:/?^{124;}

我会这样写:

preg_match_all(
    "/^[a-zA-Z0-9.!#$%&’*+\/=\?\^_`\{\|\}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/",
    $str,
    $match
);
我发现该网站在匹配电子邮件地址时非常有用:


您必须在等号之前转义正斜杠,例如:

preg_match_all(
    "/^[a-zA-Z0-9.!#$%&’*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/",
    $str,
    $match
);

“/”是整个表达式的分隔符,因此必须在正则表达式本身中转义它

必须在等号之前转义正斜杠,例如:

preg_match_all(
    "/^[a-zA-Z0-9.!#$%&’*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/",
    $str,
    $match
);

“/”是整个表达式的分隔符,因此必须在正则表达式本身中转义它。

可能希望准确指出需要转义这些字符的哪些用法。有些地方它们是有效的未转义用法。我不是正则表达式方面的专家,但我发现这是一个非常有用的站点,用于电子邮件匹配的regexp:。可能需要准确指出这些字符的哪些用法需要转义。在一些地方,它们是有效的非scaped用法。我不是正则表达式方面的专家,但我发现这是一个非常有用的站点,用于电子邮件匹配的regexp:。