Regular expression: Difference between revisions

Jump to navigation Jump to search
m
Line 376: Line 376:
</pre>
</pre>


尋找欄位值包含中文字,中文字包含繁體中文與簡體中文,不包含特殊符號,例如 Emoji:{{kbd | key = ⭐}}。
尋找欄位值包含中文字,中文字包含繁體中文與簡體中文,不包含標點符號 (例如 {{kbd | key = <nowiki>,</nowiki>}})、全形標點符號 (例如 {{kbd | key = <nowiki>,</nowiki>}})以及特殊符號,例如 Emoji:{{kbd | key = ⭐}}。
PHP: ([http://sandbox.onlinephpfunctions.com/code/ca7dd83ae0950353e617950349898a6165b1d865 online demo] hosted by [http://sandbox.onlinephpfunctions.com/ PHP Sandbox])
PHP: exact match
<pre>
<pre>
// approach 1
// approach 1
Line 392: Line 392:
echo "部分文字不是中文字" . PHP_EOL;
echo "部分文字不是中文字" . PHP_EOL;
}
}
</pre>
partial match ([http://sandbox.onlinephpfunctions.com/code/d780845d20877c0fd2e693b28ed02a10d250d39e online demo] hosted by [http://sandbox.onlinephpfunctions.com/ PHP Sandbox])
<pre>
// approach 1
$string = '繁體中文-简体中文-English-12345-。,!-.,!-⭐';
$pattern = '/[\p{Han}]+/u';
preg_match_all($pattern, $string, $matches, PREG_OFFSET_CAPTURE);
var_dump($matches);
// approach 2
$string = '繁體中文-简体中文-English-12345-。,!-.,!-⭐';
$pattern = '/[\x{4e00}-\x{9fa5}]+/u';
preg_match_all($pattern, $string, $matches, PREG_OFFSET_CAPTURE);
var_dump($matches);
</pre>
</pre>


Navigation menu