前言
在平时开发中,作为后台填写或数据提交后的校验阶段,正则表达式的使用经常会被反复用到,但估计很多同学跟我一样,很难记住或自己从新去写,基本都是临时抱佛脚
php的正则表达式匹配,可以使用preg_match()
、preg_match_all()
、preg_replace()
等函数操作正则表达式
preg_match()
介绍:函数用于执行一个正则表达式匹配
语法:
preg_match(
string $pattern,
string $subject,
array &$matches = null,
int $flags = 0,
int $offset = 0
): int|false
$pattern //要搜索的模式,字符串类型。
$subject //输入字符串。
$matches //如果提供了参数matches,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。
常用正则示例:
//1. 匹配数字,匹配由1个或多个数字组成的字符串。
`/^\d+$/`
//2. 匹配中文字符,匹配由1个或多个中文字符组成的字符串。
`/^[\x{4e00}-\x{9fa5}]+$/u`,
//3. 匹配电子邮件地址,配符合电子邮件地址规范的字符串。
`/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/`,匹
//4. 匹配URL地址,匹配符合URL地址规范的字符串。
`/^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/i`,
//5. 匹配手机号码,匹配符合中国大陆手机号规范的字符串。
`/^1[34578]\d{9}$/`,
//6. 匹配IP地址,匹配符合IP地址规范的字符串。
`/^((([01]{0,1}\d{0,1}\d{1,2})|([2]{1}[0-4]{1}\d{1})|([2]{1}[5]{1}[0-5]{1}))\.){3}(([01]{0,1}\d{0,1}\d{1,2})|([2]{1}[0-4]{1}\d{1})|([2]{1}[5]{1}[0-5]{1}))$/`,
结语
以上是一些常用的正则表达式示例,可以根据需要进行修改,匹配您需要的字符串。需要注意的是,正则表达式匹配性能较差,应该尽可能缩小匹配范围或者对匹配结果进行缓存以提高性能。