preg_match
是 PHP 中用于執(zhí)行正則表達(dá)式匹配的函數(shù)。要制定匹配規(guī)則,首先需要了解正則表達(dá)式的語法。以下是一些常用的正則表達(dá)式元字符和它們的功能:
.
:匹配任意單個字符(除了換行符)*
:匹配前面的子表達(dá)式零次或多次+
:匹配前面的子表達(dá)式一次或多次?
:匹配前面的子表達(dá)式零次或一次{n}
:匹配前面的子表達(dá)式恰好 n 次{n,}
:匹配前面的子表達(dá)式至少 n 次{n,m}
:匹配前面的子表達(dá)式至少 n 次,最多 m 次^
:匹配輸入字符串的開始位置$
:匹配輸入字符串的結(jié)束位置[]
:匹配方括號內(nèi)的任意字符[^]
:匹配方括號外的任意字符|
:表示或,用于匹配多個選擇()
:用于將幾個子表達(dá)式組合為一個子表達(dá)式\
:用于轉(zhuǎn)義特殊字符以下是一些使用 preg_match
的示例:
$pattern = '/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/';
$email = 'example@example.com';
if (preg_match($pattern, $email)) {
echo 'Email address is valid';
} else {
echo 'Email address is invalid';
}
$pattern = '/^\d{3}-\d{3}-\d{4}$/';
$phone = '123-456-7890';
if (preg_match($pattern, $phone)) {
echo 'Phone number is valid';
} else {
echo 'Phone number is invalid';
}
$pattern = '/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/';
$url = 'https://www.example.com';
if (preg_match($pattern, $url)) {
echo 'URL is valid';
} else {
echo 'URL is invalid';
}
這些示例僅涉及正則表達(dá)式的基本語法。要創(chuàng)建更復(fù)雜的匹配規(guī)則,可以查閱 PHP 手冊中正則表達(dá)式的相關(guān)章節(jié)。