您的位置:

php正则表达式如何匹配小括号(php使用正则表达式)

本文目录一览:

PHP怎么用正则表达式匹配圆括号

preg_match("/\(.*\)/","要匹配的字符串");()在正则中属于正则的字符,必须用\转义成普通的字符

php正则表达式如何匹配小括号

小括号在正在里面有特殊含义,需要匹配小括号【(】、【)】本身两个符号,可以使用转义符号\,也就是【\(】、【\)】

如何用php正则表达式取出“字符”间的字符

PHP使用正则表达式提取字符串中尖括号、小括号()、中括号[]、大括号{}中的字符示例,需要的朋友可以参考下

复制代码 代码如下:

$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 f2($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:环视:(?!) (?=) (?!) (?=)

有小于号的在右侧匹配,没有的在左侧匹配。感叹号表示不等,等于号表示相等。

PS3:都过了验证器的验证,验证器见参考资料。

PHP正则表达式提取字符串中尖括号、小括号()、中括号[]、大括号{}中的字符

1、

function f1($str)

{

$result = array();

preg_match_all("/^(.*)(?:)/i",$str, $result);

return $result[1][0];

}

2、

function f2($str)

{

$result = array();

preg_match_all("/(?:)(.*)(?:)/i",$str, $result);

return $result[1][0];

}

3、

function f3($str)

{

$result = array();

preg_match_all("/(?:\()(.*)(?:\))/i",$str, $result);

return $result[1][0];

}

4、

function f4($str)

{

$result = array();

preg_match_all("/(?:\[)(.*)(?:\])/i",$str, $result);

return $result[1][0];

}

5、

function f5($str)

{

$result = array();

preg_match_all("/(?:\{)(.*)(?:\})/i",$str, $result);

return $result[1][0];

}

PS: (?:字符) 表示不捕获这个字符。貌似PHP不支持将字符换成括号。

否则的话可以将环视给嵌套进去,就可以循环匹配了。

PS2:环视:(?!) (?=) (?!) (?=)

有小于号的在右侧匹配,没有的在左侧匹配。感叹号表示不等,等于号表示相等。

PS3:都过了验证器的验证,验证器见参考资料。