\r \n \r\n:換行/回車符\t:製表符
\d:數字(與[0-9]匹配相同)
\d:非數字(與[^0-9]匹配相同)
\w:單詞字元(與[0-9a-za-z]匹配相同)
\w:非單詞字元
\s:空格字元(與[ \t\n\r\f]相同)
\s:非空格字元
[\s\s]+ [\s\s]* :匹配任意字元,包括換行符
元字元:
包圍乙個字元類,字元類包括:[0-9] [a-z] [a-za-z] 等類似。() 包圍乙個字元分組或定義乙個反引用
$ 匹配行尾
^匹配行首
* 匹配前面的子表示式零次或多次。要匹配 * 字元,請使用 *
+ 匹配前面的子表示式一次或多次。要匹配 + 字元,請使用 +
? 匹配前面的子表示式零次或一次,或指明乙個非貪婪限定符 ?
. 匹配除換行之外的任何字元
|管道符。例如:dog|cat:表示或者匹配dog或者匹配cat
老是忘記:
正則預設是貪婪匹配:.*
如果想要飛貪婪匹配:.*?
php utf-8下測試----匹配字串中是否包含中文: preg_match(**說明.'/[\x80-\xff]/
', $str);
1. gbk (gb2312/gb18030)
\x00-\xff gbk雙位元組編碼範圍
\x20-\x7f ascii
\xa1-\xff 中文 gb2312
\x80-\xff 中文 gbk
2. utf-8
(unicode)
\u4e00-\u9fa5 (中文)
\x3130-\x318f (韓文
\xac00-\xd7a3 (韓文)
\u0800-\u4e00 (日文)*/
常用元字元
匹配除換行符以外的任意字元
\w匹配字母或數字或下劃線或漢字
\s匹配任意的空白符
\d匹配數字
\b匹配單詞的開始或結束
^匹配字串的開始
$匹配字串的結束
**/語法說明*常用限定符
重複零次或更多次
+重複一次或更多次
?重複零次或一次
重複n次
重複n次或更多次
重複n到m次
**/語法常用反義詞
說明\w
匹配任意不是字母,數字,下劃線,漢字的字元
\s匹配任意不是空白符的字元
\d匹配任意非數字的字元
\b匹配不是單詞開頭或結束的位置
[^x]
匹配除了x以外的任意字元
[^aeiou]
匹配除了aeiou這幾個字母以外的任意字元
特殊的正則匹配需求
特殊的需求,正則匹配一段字串中的 504 前後 非數字 並且 如果504前後 如果有一端為數字就不進行替換操作 例如 a504a504b504c504a 這種情況504就要進行替換 數字 504a504 數字 這種情況就不進行替換 504 這種情況就不進行替換 stringbuilder strip...
修飾匹配次數的特殊符號
前面隨筆中講到的表示式,無論是只能匹配一種字元的表示式,還是可以匹配多種字元其中任意乙個的表示式,都只能匹配一次。如果使用表示式再加上修飾匹配次數的特殊符號,那麼不用重複書寫表示式就可以重複匹配。使用方法是 次數修飾 放在 被修飾的表示式 後邊。比如 bcd bcd 可以寫成 bcd 舉例 1 表示...
正規表示式的特殊符號
特殊符號 代表意義 alnum 代表英文大小寫字元及數字,即0 9 a z a z alpha 代表任何英文大小寫字元,即a z a z blank 代表空格鍵與tab鍵兩者 cntrl 代表鍵盤上面的控制按鍵,即cr tab del等 digit 代表數字,即0 9 graph 除了空格符 空格鍵...