正則匹配 模式修正符 小寫u的有關問題 php

2022-04-08 03:20:15 字數 1217 閱讀 9926

正則匹配 模式修正符 小寫u的問題 php

最近看到一段**:

$str='你好,世界dd';

preg_match_all('/./us',$str,$match);

echocount($match[0])."

";?>

上網查了不少資料,但對於php正規表示式中的模式修正符u實在有些不明白,求解啊……

分享到: 更多

------解決方案--------------------

u:unicode的縮寫,表示待匹配的串是乙個符合unicode編碼規則的串,比如utf-8編碼的串

在u修飾符下,乙個漢字被當做乙個字元被處理。\w有原來的[_0-9a-za-z]擴充套件到漢字

------解決方案--------------------

$s='漢字abc';

preg_match_all('/\w/',$s,$r);//沒有u修飾

print_r($r);得

array

([0]=>array

([0]=>a

[1]=>b

[2]=>c))

$s='漢字abc';

preg_match_all('/\w/u',$s,$r);//有u修飾

print_r($r);得

array

([0]=>array

([0]=>漢

[1]=>字

[2]=>a

[3]=>b

[4]=>c))

------解決方案--------------------

引用:$s='漢字abc';

preg_match_all('/\w/',$s,$r);//沒有u修飾

print_r($r);得

array

( [0]=>array

( [0]=>a

[1]=>b

[2]=>c

) )$s='漢字abc';

preg_match_all('/\w/u',$s,$r);//有u修飾

print_r($r);得

array

( [0]=>array

( [0]=>漢

[1]=>字

[2]=>a

[3]=>b

[4]=>c

) )

寫個適合新手學習的正則吧。

還有.net的正則和php的正則區別大嗎?

正規表示式模式修正符

php正規表示式 i,is,s,isu等 都是些什麼東西呢?1 正規表示式運算順序 圓括號因為是記憶體處理所以最高 重複匹配內容其次 b 邊界處理第三 條件處理第四 最後按照運算順序計算匹配 2 正規表示式模式修正符 i 正則內容在匹配時候不區分大小寫 預設是區分的 m 在匹配首內容或者尾內容時候採...

模式修正符 正規表示式

模式修正符是標記在整個正規表示式之外的,可以看著是對正規表示式的一些補充說明。常用的模式修正符如下 模式修正符說明i 模式中的字元將同時匹配大小寫字母 m字串視為多行 s將字串視為單行,換行符作為普通字元 x將模式中的空白忽略 epreg replace 函式在替換字串中對逆向引用作正常的替換,將其...

正規表示式模式修正符

下面列出了當前在 pcre 中可能使用的修正符。括號中是這些修正符的內部 pcre 名。修正符中的空格和換行被忽略,其它字元會導致錯誤。i pcre caseless 如果設定此修正符,模式中的字元將同時匹配大小寫字母。s pcre dotall 如果設定了此修正符,模式中的圓點元字元 匹配所有的字...