最新消息: 新版网站上线了!!!

PHP 正则表达式


思维导图
 
 点击下图,可以看具体内容!

 
 
介绍
 
       正则表达式,大家在开发中应该是经常用到,现在很多开发语言都有正则表达式的应用,比如javascript,java,.net,php等等,我今天就把我对正则表达式的理解跟大家唠唠,不当之处,请多多指教!
 
需要知道的术语——下面的术语你知道多少?
 
Δ  定界符
Δ  字符域
Δ  修饰符
Δ  限定符
Δ  脱字符
Δ  注释
 
定位
 
       我们什么时候使用正则表达式呢?不是所有的字符操作都用正则就好了,php在某些方面用正则反而影响效率。当我们遇到复杂文本数据的解析时候,用正则是比较好的选择。
 
优点
 
      正则表达式在处理复杂字符操作的时候,可以提高工作效率,也在一定程度节省你的代码量
 
缺点
 
       我们在使用正则表达式的时候,复杂的正则表达式会加大代码的复杂度,让人很难理解。所以我们有的时候需要在正则表达式内部添加注释。
 
通用模式

 
 ¤ 定界符,通常使用 "/"做为定界符开始和结束,也可以使用"#"。
  什么时候使用"#"呢?一般是在你的字符串中有很多"/"字符的时候,因为正则的时候这种字符需要转义,比如uri。
     使用"/"定界符的代码如下.
$regex = '/^http:\/\/([\w.]+)\/([\w]+)\/([\w]+)\.html$/i';
$matches = array();
 
if(preg_match($regex, $str, $matches)){
    var_dump($matches);
}
 
echo "\n";

    preg_match中的$matches[0]将包含与整个模式匹配的字符串。 

    使用"#"定界符的代码如下.这个时候对"/"就不转义!

$regex = '#^http://([\w.]+)/([\w]+)/([\w]+)\.html$#i';
$matches = array();
 
if(preg_match($regex, $str, $matches)){
    var_dump($matches);
}
 
echo "\n";

  ¤ 修饰符:用于改变正则表达式的行为。

     我们看到的('/^http:\/\/([\w.]+)\/([\w]+)\/([\w]+)\.html/i')中的最后一个"i"就是修饰符,表示忽略大小写,还有一个我们经常用到的是"x"表示忽略空格。

贡献代码:

  

$regex = '/HELLO/';
-->

转载请注明:谷谷点程序 » PHP 正则表达式