9.2.2 正則表達(dá)式語法介紹2

9.2.2 正則表達(dá)式語法介紹2

定界符
原子
元字符
模式修正符

Perl兼容正則表達(dá)式

正則表達(dá)式作為一個(gè)匹配的模版,是由原子(普通字符,例如字符a到z)、特殊字符(元字符,例如*、+和?等)、以及模式修正符三部分組成的文字模式。
一個(gè)最簡單正則表達(dá)式至少包含一個(gè)原子。
將下面的正則表達(dá)式拆分如下:

   '/<a.*?(?:|\\t|\\r|\\n)?href=[\"]?(.+?)[\"]?(?:(?:|\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim'

定界符:兩個(gè)斜線”/”。
原子用到了< a href = ‘ “ / >等普通字符和\t \r \n等轉(zhuǎn)義字符
元字符使用了 [] () | . ? * + 等具有特殊含義的字符
用到了模式修正符是在定界符最后一個(gè)斜線之后的三個(gè)字符: s i m

正則表達(dá)式作為一個(gè)匹配的模版,是由原子(普通字符,例如字符a到z)、特殊字符(元字符,例如*、+和?等)、以及模式修正符三部分組成的文字模式。
一個(gè)最簡單正則表達(dá)式至少包含一個(gè)原子。
將下面的正則表達(dá)式拆分如下:

   '/<a.*?(?:|\\t|\\r|\\n)?href=[\"]?(.+?)[\"]?(?:(?:|\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim'

定界符:兩個(gè)斜線”/”。
原子用到了< a href = ‘ “ / >等普通字符和\t \r \n等轉(zhuǎn)義字符
元字符使用了 [] () | . ? * + 等具有特殊含義的字符
用到了模式修正符是在定界符最后一個(gè)斜線之后的三個(gè)字符: s i m

1.php

<?php
    $str = "aa1aaaaa3aaaa5aaaa77777aaaa2aaaa9aaaaa0aaaaaaa<br>";

    
    $reg = "/\d/";

    /* 定界符號: 多種都可以, 常用為 // 
     * 
     * 原子 : 最少的一個(gè)匹配單位 (放在定界符中), 在一個(gè)正則表達(dá)式中, 至少要有一個(gè)原子
     * 元字符: 元字符不能單獨(dú)使用的,修飾原子,  是用來擴(kuò)展原子功能的和限定功能 (寫在定界符號中)
     * 
     * 模式修正符號:  修正, 對模式(正則)修正, (寫在定界符號外面, 寫在右邊)
     *
     */

    echo $str."<br>";

    echo preg_replace($reg, "#", $str)."<br>";

    print_r(preg_split($reg, $str));

    echo '<br>';


    if(preg_match($reg, $str, $arr) ) {
        echo "正則表達(dá)式 <b>{$reg}</b> 和字符串 <b>{$str}</b> 匹配成功!<br>";
        print_r($arr);
    
    } else {
        echo "沒有匹配上<br>";
    }

test.php

<?php
    $str = "aa1aaaaa3aaaa5aaaa77777aaaa2aaaa9aaaaa0aaaaaaa<br>";

    
    $reg = "/\d/";


    if(preg_match($reg, $str, $arr) ) {
        echo "正則表達(dá)式 <b>{$reg}</b> 和字符串 <b>{$str}</b> 匹配成功!<br>";
        print_r($arr);
    
    } else {
        echo "沒有匹配上<br>";
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容