正則細節要點

2021-07-04 03:32:43 字數 868 閱讀 3054

1. 作為子模式使用

$reg = "/3+(abc)(t)/";

$string = "333abct";

if(preg_match($reg,$string,$arr)) 

結果是  

array ( [0] => 333abct [1] => abc [2] => t )

2. 反向引用

取出子模式 再作為正規表示式的一部分 如果是preg_replace 可以將子模式取出 在被替換的字串使用

\1  取第乙個子模式  。。。。\2\3\4\5(

如果不是在正規表示式裡用 就用  $1  $2  來捕獲)

注意 如果是雙引號 那必須是\\ 單引號 就是 \

3. 取消子模式

如果只是想用個括號 並不是子模式 可以這麼用  (?:)  在括號最前面使用?: 就可以取消這個子模式   

4.【修飾符】

在定界符後面寫模式修正符號

可以一次使用乙個也可以使用多個

對正規表示式調優用的 也可以說是對正規表示式的擴充套件

i  不區分大小寫

m  匹配多行  ^..$  多行後任何一行都可以用正規表示式規則套下

s  設定這個.匹配換行

x  表示正規表示式中的空白忽略不計 不是字串裡面的

e  執行php**

a === ^

z === $

u  正規表示式本身就比較貪婪  如果不開啟u  正規表示式就會匹配到最後乙個   

禁止貪婪還可以加個?  一樣可以禁止貪婪 .*?  如果兩個同時出現 那麼就會再次開啟貪婪模式

5.正規表示式要轉義的字元 

. \ + * ? [ ^ ] $ ( ) = ! < > | : - 

正則的細節

1.正則 檢驗字串的規則 2.正則就是有元字元和修飾符構成 寫在 裡面的都叫元字元 元字元分兩種 1種是有特殊意義的 例如 d 表示數字 2種沒特殊意義 沒有特殊意義就是字元本身 3.特殊意義的元字元 1.轉義字元 轉義後面緊跟的字元的意義 2.d 有意義 數字 無意義 是什麼就是什麼 3.代表除了...

安卓程式細節要點備忘

l零,安卓各種資源 讀取 一,命名規則 例子 com.bignerdranch.android.geoquiz 公司名 程式名 二,注釋 1.override是偽 表示重寫 當然不寫也可以 不過寫上有如下好處 可以當注釋用,方便閱讀 編譯器可以給你驗證 override下面的方法名是否是你父類中所有...

關聯容器的細節以及使用要點

和順序容器不同,關聯容器是通過鍵值對的方式儲存資料的,可以通過鍵來讀取資料。c 中主要的關聯容器是map和set兩種,它們都只能為乙個鍵新增乙個值,如果希望新增多個值,應該使用multimap和multiset。在了解簽名提到的幾個關聯容器之前,我們需要先了解c 另乙個簡單的關聯容器,它是所有關聯容...