• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    PHP如何用正則匹配數據?

    在做開發時,有時候需要在一段文字里找出需要的字符,這時就需要用到正則表達式了。下面一起來看下具體怎么使用正則查找數據。

    操作方法

    • 01

      我們先定義一個字符串,如圖,假設要從這段字符串里,匹配找出網站的名字“搜狗”

    • 02

      然后定義一個正則表達式,解析下代碼,正則要放在斜杠符號(/)里面,如果表達式里有用到斜杠(/)符號的,則需要用反斜杠來轉義。
      最后面的 “i” 標記是讓正則表達式在匹配的時候不需要區分大小寫。

    • 03

      這里定義一個數組,并調用php的preg_match方法,方法的第一個參數是上面定義的正則表達式,第二個參數是要查找的字符串,第三個參數是定義的數組,當有匹配到數據時,數組第一項是匹配的原字符串,數組第二項就是要查找的數據

    • 04

      最后用dump方法輸出數組的內容,顯示匹配結果。
      所有的代碼就是這幾行。

    • 05

      運行這些代碼后,我們看到結果如圖,有匹配到數據,但得到的結果(數組第二項內容)把字符串后面的內容都匹配上了。

    • 06

      為什么會這樣?
      是因為我們的正式表達式,默認情況是貪婪匹配,就是匹配盡量多的內容。
      如何修正?我們只要加多一個U標記就行了,代碼如圖,加上這個標記就會告訴正則表達式,執行非貪婪匹配。

    • 07

      再運行下代碼,看下結果。
      如圖,這次能正確匹配到網站名字了。

    • End
    • 發表于 2017-09-27 00:00
    • 閱讀 ( 753 )
    • 分類:電腦網絡

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆