PHP判断表达式中括号是否匹配的简单实例

来源:文书网 2.49W

正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。下面小编就为大家带来一篇PHP判断表达式中括号是否匹配的`简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。

PHP判断表达式中括号是否匹配的简单实例

  如下所示:

<?php

/**

* title: 判断表达式中括号是否匹配

* Description: () 匹配 )(不匹配 利用压栈和出栈

* @author Mr Lv

*/

function isValid($expstr) {

$temp = array();

for ($i=0; $i<strlen($expstr); $i++) {

$ch = $expstr[$i];

switch($ch) {

case '(':

array_push($temp, '(');

break;

case ')':

if (empty($temp) || array_pop($temp) != '(') {

return "缺少左括号(";

}

}

}

return empty($temp) == true ? "表达式匹配" : "缺少右括号)";

}

$expstrA = "(1+3(6*4)-(2+3))()(";

$expstrB = "(1+3(6*4)-(2+3))()";

$expstrC = "(1+3(6*4)-(2+3)))";

echo isValid($expstrA);

echo "<br>";

echo isValid($expstrB);

echo "<br>";

echo isValid($expstrC);

?>

  页面信息:

缺少右括号)

表达式匹配

缺少左括号(

以上就是小编为大家带来的PHP判断表达式中括号是否匹配的简单实例全部内容了,希望对大家工作有所帮助!

热门标签