一个正则表达式,分为三个部分:分隔符,表达式和修饰符.
分隔符可以是除了特殊字符以外的任何字符,常用的分隔符是| / \等等。表达式由一些特殊字符和非特殊的字符串组成,修饰符是用来开启或者关闭某种功能/模式。下面就是一个完整的正则表达式的例子: 
/abvc.+?abc/is 
上面的正则表达式"/"就是分隔符,两个"/"之间的就是表达式,第二个"/"后面的字符串"is"就是修饰符。
"|<[^>]+>(.*)</[^>]+>|U" 这里的|就是分隔符,U是修饰符:和问号的作用差不多,用于设置"贪婪模式"(什么是"贪婪模式"呢? 
比如我们要匹配以字母"a"开头,字母"b"结尾的字符串,但是需要匹配的字符串在"a"后面含有很多个"b",比如"a bbbbb",那正则表达式是会匹配第一个"b"还是最后一个"b"呢?如果你使用了贪婪模式,那么会匹配到最后一个"b",反之只是匹配到第一个"b")。表达式"<[^>]+>(.*)</[^>]+>": "<"就是直接匹配"<",[^>]匹配不包含">"的任意字符,"+"匹配前面的子表达式一次或多次 ,( )标记一个子表达式的开始和结束位置 , .匹配除换行符\n之外的任何单字符,*匹配前面的子表达式零次或多次,"</"就是直接匹配"</"

解决方案 »

  1.   

    U:和问号的作用差不多,用于设置"贪婪模式"。
    问号:"?"字符用来匹配元字符前的字符出现零次或者1次。例如"/ac?/"表示匹配的对象可以是"a"、"acp"、"acwp"这样在"a"后面出现零个或者1个"c"的字符串。"?"在正则表达式中还有一个非常重要的作用,即"贪婪模式"。
    贪婪模式:
    要匹配以字母"a"开头字母"b"结尾的字符串,但是需要匹配的字符串在"a"后面含有很多个"b",比如"a bbbbbbbbbbbbbbbbb",那正则表达式是会匹配第一个"b"还是最后一个"b"呢?如果你使用了贪婪模式,那么会匹配到最后一个"b",反之只是匹配到第一个"b"。 
        使用贪婪模式的表达式如下: 
    /a.+?b/ 
    /a.+b/U 
    不使用贪婪模式的如下: 
    /a.+b/ 
      

  2.   

    这些都是正则表达式的,难道你没看过吗
    这个例子是用的PERL兼容的,U表示该选项禁止最大长度的搜索,|是表示或的意思
      

  3.   

    这应该是一个用来去除html标记的正则
      

  4.   

    preg_match_all ("|<[^>]+>(.*)</[^>]+>|U",
    我也在學,感覺暈暈的,應該是刪除HTML格式的,