preg_match
是 PHP 中用于執行正則表達式匹配的函數。要制定匹配規則,首先需要了解正則表達式的語法。以下是一些常用的正則表達式元字符和它們的功能:
.
:匹配任意單個字符(除了換行符)*
:匹配前面的子表達式零次或多次+
:匹配前面的子表達式一次或多次?
:匹配前面的子表達式零次或一次{n}
:匹配前面的子表達式恰好 n 次{n,}
:匹配前面的子表達式至少 n 次{n,m}
:匹配前面的子表達式至少 n 次,最多 m 次^
:匹配輸入字符串的開始位置$
:匹配輸入字符串的結束位置[]
:匹配方括號內的任意字符[^]
:匹配方括號外的任意字符|
:表示或,用于匹配多個選擇()
:用于將幾個子表達式組合為一個子表達式\
:用于轉義特殊字符以下是一些使用 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';
}
這些示例僅涉及正則表達式的基本語法。要創建更復雜的匹配規則,可以查閱 PHP 手冊中正則表達式的相關章節。