Re: [請益] 中文字下的正規式
※ 引述《JYHuang (夏天到了,冷不起來了說)》之銘言:
: 某一個欄位存著使用者姓名,不過有時會填入兩個姓名
: 如果要用正規式把第二個字遮蔽起來的話
: 陳曉東 => 陳O東
: 陳曉東、鄭中基 => 陳O東、鄭O基
: 試了試mb_ereg_replace有點難度
: 無法像英文字用\w那樣去判斷字元
: 請問有沒有什麼方向可以指點一下呢?
這個我也很有興趣,
剛試了一下,可不用再用老扣扣的mb_ereg系列,直接用preg就可以match unicode
惟regex尾巴選項要加上u。
$regex = '/卡拉\w+可夫/u';
$mres = preg_match($regex, $argv[$i], $matches);
Full code: http://ideone.com/gBTeGO
他的 \w 行為跟標準的 \w 一樣以外,也match漢字。
如果把 \w+ 改為 \w 也可以正確match一個字。
Have a good time playing around :)
$ ./cregex.php 卡拉可夫 卡拉稀泥可夫 卡拉OK可夫 卡拉OK和稀泥可夫 卡拉_可夫 卡
拉*可夫
preg_match claims 0 match for /卡拉\w+可夫/u in 卡拉可夫
Array
(
)
preg_match claims 1 match for /卡拉\w+可夫/u in 卡拉稀泥可夫
Array
(
[0] => 卡拉稀泥可夫
)
preg_match claims 1 match for /卡拉\w+可夫/u in 卡拉OK可夫
Array
(
[0] => 卡拉OK可夫
)
preg_match claims 1 match for /卡拉\w+可夫/u in 卡拉OK和稀泥可夫
Array
(
[0] => 卡拉OK和稀泥可夫
)
preg_match claims 1 match for /卡拉\w+可夫/u in 卡拉_可夫
Array
(
[0] => 卡拉_可夫
)
preg_match claims 0 match for /卡拉\w+可夫/u in 卡拉*可夫
Array
(
)
--
從前有個馬鈴薯王國 有個高貴偉大的國王
有的人尊敬他 有的人畏懼他 但有個人敢看不起他不只是一條龍
嘿呵 快出動 去征服 去擺平 嘿呵 快出征 去征服那條龍
嘿呵 快出動(宰了它!轟了它!)嘿呵 快出征 去征服那條龍
:■ Potatoes and Dragons (C)Alphanim France 2004-05 :.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.163.12.174
推
12/24 13:18, , 1F
12/24 13:18, 1F
→
12/24 14:43, , 2F
12/24 14:43, 2F
推
12/25 02:04, , 3F
12/25 02:04, 3F
推
12/25 07:48, , 4F
12/25 07:48, 4F
→
12/25 10:10, , 5F
12/25 10:10, 5F
推
12/25 18:04, , 6F
12/25 18:04, 6F
→
12/25 19:22, , 7F
12/25 19:22, 7F
推
12/28 01:04, , 8F
12/28 01:04, 8F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):