复制代码 代码如下:$str="你好(爱)[北京]{天安门}";
echo f1($str); //返回你好 echo f2($str); //返回我 echo f3($str); //返回爱 echo f4($str); //返回北京 echo f5($str); //返回天安门
function f1($str) { $result = array(); preg_match_all("/^(.*)(?:)/i",$str, $result); return $result[1][0]; }
function f3($str) { $result = array(); preg_match_all("/(?:()(.*)(?:))/i",$str, $result); return $result[1][0]; }
function f4($str) { $result = array(); preg_match_all("/(?:[)(.*)(?:])/i",$str, $result); return $result[1][0]; }
function f5($str) { $result = array(); preg_match_all("/(?:{)(.*)(?:})/i",$str, $result); return $result[1][0]; }
PS: (?:字符) 表示不捕获这个字符。貌似PHP不支持将字符换成括号。 否则的话可以将环视给嵌套进去,就可以循环匹配了。 PS2:环视:(?!) (?=) (?
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:http://tools.jb51.net/regex/create_reg