我想寫一個正則表達式,它可以匹配可能包含中文字符的字符串。例子:正則表達式匹配一個可能包含中文字符的字符串
hahdj5454_fd.fgg"
example.com/list.php?keyword=關鍵字
example.com/list.php?keyword=php
我使用這個表達式:
$matchStr = '/^[a-z 0-9~%.:_\-\/[^x7f-xff]+$/i';
$str = "http://example.com/list.php?keyword=關鍵字";
if (! preg_match($matchStr, $str)){
exit('WRONG');
}else{
echo "RIGHT";
}
它簡單的英語串那樣dasdsdsfds
或http://example.com/list.php
相匹配,但它不匹配包含中國字符的字符串。我該如何解決這個問題?
這是不是真的清楚你到底要配什麼... – HamZa 2013-03-13 10:27:05
此外,還有在你的正則表達式語法問題。你似乎試圖嵌套字符類(這是不可能的),但是括號的數量無論如何都是不平衡的。 – 2013-03-13 10:47:06