<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. PHP判斷表達式中括號是否匹配

    時間:2025-11-26 17:14:52 php語言 我要投稿

    PHP判斷表達式中括號是否匹配

      學習PHP語言的時候,初學者往往會對數組感到一些棘手。不過在通過深入的學習之后,我們會發現,這些其實并沒有想象中的困難。下面小編就為大家帶來一篇PHP判斷表達式中括號是否匹配的簡單實例。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧。

      復制代碼 代碼如下:

      <table>

      <tr><td>aaaa</td></tr>

      <tr><td>bbbb</td></tr>

      <tr><td>cccc</td></tr>

      <tr><td>dddd</td></tr>

      </table>

      像這種的文本,用PHP的正則表達式怎么匹配??

      我最初的想法:

      pattern:"/<tr>[.n]*?</tr>"(這個是錯誤的)

      想法思路:"."能匹配任意非換行字符,使用"[.n]"組合,使其能夠匹配所有的字符(包括換行符),但天有不測風云啊——悲劇了,結果什么都沒有!

      經過一番啃骨之后寫了另一個

      pattern:"/<tr>(.|n)*?</tr>"(這個是可以)

      將“[]”換成"()",使用“|”做一個或選擇,這樣就行了(納悶了,怎么"[]"也是選擇方式的就不行???)

      網上也有一答案:

      PATTEN: "/<tr>.*?</tr>/is"(很簡潔很方便,贊成此方法)

      后記: 怎么"[]"也是選擇方式的就不行???你知道的話別忘了告訴小弟一聲哦……

      []里的.相當于.,仔細看正則的說明去吧

      涉及到換行一般考慮用模式修正符s

      s (PCRE_DOTALL)

      如果設置了這個修飾符, 模式中的點號元字符匹配所有字符, 包含換行符. 如果沒有這個 修飾符, 點號不匹配換行符.

      []里面的是一些范圍或者組合

      lz試一下"/<tr>[.]*?</tr>/is"這個就知道了,

      還有()很強大的</p

      如下所示:

      <?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);

      ?>

      頁面信息:

      ?

      1

      2

      3

      缺少右括號)

      表達式匹配

      缺少左括號(

    【PHP判斷表達式中括號是否匹配】相關文章:

    PHP判斷表達式中括號是否匹配的簡單實例08-20

    判斷PHP數組是否為空的代碼10-15

    PHP如何判斷數組是否為空11-02

    PHP正則匹配中文字母數字正則的表達式12-05

    PHP正則匹配中文字母數字正則表達式03-17

    PHP判斷遠程url是否有效的幾種方法09-28

    PHP中判斷變量為空的方法10-02

    PHP判斷數組是否為空的5大方法07-09

    php判斷一個數組是否為有序07-23

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人