我想知道正则表达式中波浪线运算符的含义是什么。
我有这样的声明:
if (!preg_match('~^\d{10}$~', $_POST['isbn'])) {
$warnings[] = 'ISBN should be 10 digits';
}
我发现这个文档解释了波浪号的含义:~ http://en.allexperts.com/q/Perl-CGI-1045/2008/9/perl-Regular-Expression-usage.htm
它说=~
是一个 Perl 运算符,意味着针对此正则表达式运行此变量。
但是为什么我的正则表达式包含两个波浪号运算符?
在本例中,它仅用作分隔符。
一般来说,在 PHP 中,正则表达式的第一个和最后一个字符是“分隔符”,用于标记匹配部分的开始和结束位置(如果您想在末尾添加修饰符,如 ungreedy 等)
一般来说,PHP 从字符串中的第一个字符(即正则表达式)开始计算,将第二次出现的字符作为第二个分隔符进行匹配。当文本中出现正常分隔符时(例如,出现/
在文本中) - 这意味着你不必做尴尬的事情。
匹配为“//
" 分隔符设置为 "/
"
/\/\//
匹配为“//
" 与分隔符 "#
"
#//#
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)