當前位置:首頁 » 編程語言 » php正則匹配漢字

php正則匹配漢字

發布時間: 2022-07-28 15:08:35

php正則匹配出漢字

html源碼中有兩個「知道」,一個是標題,一個鏈接
我的理解,是連接里的

用(?<=<a[^>]+>)(?=(知[\w&;]+|道[\w&;]*)?</a>)(知[\w&;]+|道[\w&;]*)?
得到的結果是:
知 道 (中間有&-n-b-s-p;)
對這個結果,再用一次replace("",「[^\\u4e00-\\u9fa5]+」,"");就可以得到知道了。
這個我無法一次得到。
我不會php哦,不能寫php代碼了。也不知道對樓主的意思理解的對不。要是有問題,請樓主再描述一下。

⑵ 求一個PHP正則表達式匹配(字母、數字、漢字、下劃線)

<?php


$pat='#^([a-zA-Z]+|[0-9]+|[x{4e00}-x{9fa5}]+)$#u';

$s="你好";

var_mp(preg_match($pat,$s));

⑶ PHP的正則表達式中使用中文(並匹配中文)的問題,原串為UTF8

<?php
$str = "中國勢力是(煙消雲散、再轉在、匣介)中國、類別置頂帖(來哦見好就收)、炒肉可示、需要城";
$preg2 = "/中國/sim" ;
preg_match_all($preg2, $str, $strResult, PREG_PATTERN_ORDER);
print_r($strResult);
?>
我的PHP文件是UTF-8編碼,不知道你的$str是從哪裡得到的呢?像上面一樣,我直接給$str賦值,這樣使用 /中國/sim 這個表達式沒有任何問題,會不會是你$str字元串的編碼與頁面編碼不一致呢?

⑷ php正則表達式匹配漢字、字母、數字、下劃線

preg_match("/[a-z]{3,14}/",$content,[可選]$a);這個返回布爾值,$a得到的是數組,把匹配到的字元防在$a;

我之能舉這個給你了。。漢字可以網上去查。
還有表達試 去看看 我也記不得了。。

⑸ php怎麼將中文利用正則表達式匹配出來

正則匹配中文漢字根據頁面編碼不同而略有區別:

GBK/GB2312編碼:[x80-xff]+ 或 [xa1-xff]+

UTF-8編碼:[x{4e00}-x{9fa5}]+/u

$str="賬單123";
//GBK/GB2312使用:
preg_match_all("/[x80-xff]+/",$str,$chinese);
//UTF-8使用:
//preg_match_all("/[x{4e00}-x{9fa5}]+/u",$str,$chinese);
print_r($chinese);

閣下所說的亂碼應該就是編碼沒弄對了

⑹ php正則匹配中文亂碼問題

當然亂碼啦,一個漢字在php里是三個字元,你這樣直接用.去匹配任意字元的話,三個.才等於一個漢字。你把一個漢字給截取掉了,當然亂碼了,不信你把你的0,10改成0,11。就不亂碼的,而且只匹配出兩個漢字。漢字不是這樣去匹配的,有專門匹配漢字的正則,

⑺ php中如何用正則表達式匹配中文字元呢

php中匹配一個或多個中文字元(包含簡體和繁體中文字元)的正則表達式如下:/[[b]\x{4e00}-\x{9fa5}]+/注意:php中正則表達式的16進制是以
\x
開頭的。

⑻ PHP正則匹配漢字和半形逗號,開頭和結尾禁止半形逗號、禁止連續兩個半形逗號。自己沒知道OK的,就不要答了

匹配漢字其實與編碼有關系的,UTF8的正則與GBK的正則就會有差別。
我按你的要求改了一個在UTF-8編碼下匹配的,但還沒達到禁止連續兩個半形逗號的要求。你可以先看看,看看有沒有啟發。
$str = "漢,中國,人,字";
if (preg_match("/^[^,][\x{4e00}-\x{9fa5},]+[^,]$/u",$str)) {
print("合法");
} else {
print("不合法");
}
============
如果未能解決兩個半形逗號的問題,其他樓主也可以降低一下要求,分兩次處理。第一次先替換掉雙半解逗號為一個,再使用正則來匹配。
能解決問題是關鍵,方法可以再優化,對不?

⑼ php正則表達式匹配一段中文,中間有換行,空白,應該怎麼寫

有多種處理方法:

1、使用[sS]匹配任意字元,而不是使用「.」
2、使用s單行修飾模式,例:$pattern='#abc.*?def#s';//能匹配abc換行def
3、使用s*匹配換行和空格,php里s能匹配空白字元,含換行

php里的中文使用[x7f-xff]表示,因此,使用正則:

$pattern='#[x7f-xff]+(?:s*[x7f-xff]+)*#';即可

⑽ PHP正則匹配中文

在PHP里,包含數字、字母、下劃線或中文的正則表達式如下:$pattern = "/[0-9a-zA-Z_\x80-\ff]+/";

熱點內容
安卓系統如何下載aov 發布:2025-01-24 16:29:53 瀏覽:572
iptables允許ip訪問 發布:2025-01-24 16:19:58 瀏覽:931
安卓80如何識別存儲卡許可權 發布:2025-01-24 16:19:54 瀏覽:231
存儲介質價格 發布:2025-01-24 16:19:18 瀏覽:150
刪除多個表sql 發布:2025-01-24 16:10:57 瀏覽:595
安卓設備版本哪裡看 發布:2025-01-24 16:06:00 瀏覽:549
編譯錯誤參數不可選 發布:2025-01-24 16:00:51 瀏覽:289
倉儲軟體用什麼伺服器 發布:2025-01-24 16:00:03 瀏覽:626
android協議分析 發布:2025-01-24 15:58:41 瀏覽:320
電腦配置512顯卡有什麼用 發布:2025-01-24 15:54:10 瀏覽:604