PHP正規表示式模式後面 U, s 引數

2021-06-21 11:45:09 字數 1160 閱讀 3958

u

(pcre_ungreedy) 這個修飾符逆轉了量詞的"貪婪"模式。 使量詞預設為非貪婪的,通過量詞後緊跟?

的方式可以使其成為貪婪的。這和 perl 是不相容的。 它同樣可以使用模式內修飾符設定(?u)進行設定, 或者在量詞後以問號標記其非貪婪(比如.*?)。

例:

1、$str = 'aabcaabab';

$regx = '/a.*b/u';

preg_match_all($regx, $str, $matches);

匹配結果:array ( [0] => array ( [0] => aab [1] => aab [2] => ab ) )

注:該結果和正規表示式 「/a.*?/」 匹配結果一致

2、$str = 'aabcaabab';

$regx = '/a.*b/';

preg_match_all($regx, $str, $matches);

匹配結果:array ( [0] => array ( [0] => aabcaabab ) )

s

(pcre_dotall) 如果設定了這個修飾符,模式中的點號元字元匹配所有字元,包含換行符。如果沒有這個 修飾符,點號不匹配換行符。這個修飾符等同於 perl 中的/s修飾符。 乙個取反字元模擬如 [^a] 總是匹配換行符,而不依賴於這個修飾符的設定。

$str="abc

"$regx = '/]*?class="info">.*?[a-z]+.*?

/is';

preg_match_all($regx, $str, $matches);

print_r($matches);

匹配結果:array ( [0] => array ( [0] =>

abc) )

注:正則中不加s模式,則匹配結果為空

注:正則中不加s模式,則匹配結果為空

PHP正規表示式e模式

舉例如下 arr array abc def ghi brr array opq rst xyz pattern d e subject 2 1 0 str preg replace pattern,arr 1 brr 1 subject echo str 輸出為 ghixyz defrst abc...

php正規表示式 修正模式

修正模式 是給正規表示式的匹配過程指定一種匹配模式,類似於手機的模式 家庭模式 會議模式等 包含以下這些 貪婪匹配 指的是當匹配結果出現歧義 出現多種結果 的時候,它會選擇結果最長的那個結果 懶惰匹配 u 指的是當匹配結果出現歧義 出現多種結果 的時候,它會選擇結果最短的那個結果 i 忽略正規表示式...

php正規表示式詳解,PHP正規表示式使用詳解

操作符 描述 轉義符 圓括號和方括號 限定符 anymetacharacter 位置和順序 或 操作 全部符號解釋 字元 描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開...