什么是使用的任“/”或“#”作为正则表达式封装正则表达式封装PHP
例如差异优点/缺点
'/' = preg_match('/MYSEARCH}(.+)ENDMYSEARCH/s',$out,$matches);
'#' = preg_match('#MYSEARCH}(.+)ENDMYSEARCH#s',$out,$matches);
谢谢!
什么是使用的任“/”或“#”作为正则表达式封装正则表达式封装PHP
例如差异优点/缺点
'/' = preg_match('/MYSEARCH}(.+)ENDMYSEARCH/s',$out,$matches);
'#' = preg_match('#MYSEARCH}(.+)ENDMYSEARCH#s',$out,$matches);
谢谢!
唯一对PHP/PCRE很重要的是,您必须在开始和结尾使用相同的字符。
重要的是逃避:在正则表达式中,如果你想使用它,你必须逃避分隔符。
例如,以匹配URL的一部分,使用/作为分隔符,你的正则表达式可能是这样的:
'/^http:\/\/www/'
使用/
作为分隔符,你必须逃离这是里面的斜线正则表达式 - 不容易,而且看起来不太好。
在另一方面,使用#
作为分隔符:
'#http://www#'
更容易编写和阅读,是不是?
Depeding您的需要和/或偏好,你可以使用任何你想要的字符 - 我有时会看到“!
”或“~
”,例如。
还请记住,与preg_quote你可以添加要逃脱的分隔符。
谢谢你真的很有帮助! – Lizard 2009-09-18 16:29:04
不知道你可以使用你偏好的一个字符,并且我认为我已经了解了PHP Regexs的学习内容。 – MitMaro 2009-09-18 16:40:19
@蜥蜴:不客气:-) ;; @MitMaro:总有比你想象的更多的PCRE ;-) – 2009-09-18 19:12:01