我有一个关于preg_match
语法中的一个字符的问题。 我只是想完全理解。 \w
寻找字母数字字符和下划线。Preg_match php解释
我的问题是\
在\w
和@
之前的含义是什么?
这是否意味着,它将使:
- 任何字母数字
- 任何反斜线
- 任何破折号
,或者这是反斜线意味着挑出下面的性格吗?
当我在w3schools.com示例中测试它时,我可以在电子邮件地址中使用反斜杠进行验证,但当它们被回显时会被删除。
$email = test_input($_POST["email"]);
// check if e-mail address syntax is valid
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
{
$emailErr = "Invalid email format";
}
我不认为你真的需要反斜杠那里。它通常用于逃避后面的字符。 – putvande
\有逃避字符串。 http://www.php.net/manual/en/regexp.reference.escape.php。你也可以阅读这个:http://stackoverflow.com/questions/3115150/how-to-escape-regular-expression-special-characters-using-javascript –
谢谢下面的链接解释到底我需要知道逃脱序列¶ 反斜线字符有几个用途。首先,如果它后面跟着一个非字母数字字符,它将带走字符可能具有的任何特殊含义。 – Torads