本文目錄一覽:
php 正則 匹配換行符的問題
“.”在正則里確實是不會匹配換行符的。
說它是通配符,有點名不符實。
如果你想要匹配包括換行符的所有字符的話,就用類似:[\w\W]或者[\s\S]這樣的“全通配模式”;
你以上的代碼,寫成如下樣式,就OK了:
$str=”div你好
111
/div”;
$reg=”/div([\w\W]*?)\/div/”;
preg_match_all($reg,$str,$str_arr);
var_dump($str_arr);
正則是一門不大不小的學問,需要下一定的功夫在它身上。
php 正則 匹配換行符
1. preg_match(‘/^(.*)(?:\r?\n){2,}(.*)$/s’, $str, $s_arr);
2. split (‘(?:\r?\n){2,}’, $str);
php正則表達式匹配一段中文,中間有換行,空白,應該怎麼寫
有多種處理方法:
1、使用[\s\S]匹配任意字符,而不是使用“.”
2、使用s單行修飾模式,例:$pattern = ‘#abc.*?def#s’; //能匹配abc換行def
3、使用\s*匹配換行和空格,php里\s能匹配空白字符,含換行
php里的中文使用 [\x7f-\xff]表示,因此,使用正則:
$pattern = ‘#[\x7f-\xff]+(?:\s*[\x7f-\xff]+)*#’; 即可
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/157444.html