正则表达式整理

本文介绍了如何使用PHP的正则表达式进行字符串匹配,包括截取特定格式的字符串及验证常见数据格式的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

截图特定字符串内的内容 不包括本身

截图Android和Build之间的字符

$reg = "/(?<=Android)[\s\S]+(?=Build)/";

preg_match_all($reg, "Dalvik\/2.1.0 (Linux; U; Android 8.1.0; Infinix X689 Build\/RP1A.200720.011)", $arr);

if(count($arr[0]) > 0 ){

    print_r($arr);

  //  print_r(explode(';',$arr[0][0]));die;

}

Array
(
    [0] => Array
        (
            [0] =>  8.1.0; Infinix X689 
        )

)

 

截图特定字符串内的内容 包括本身

$reg = "/\([\s\S]*?\)/";

preg_match_all($reg, "Dalvik\/2.1.0 (Linux; U; Android 8.1.0; Infinix) 200720.011", $arr);


Array
(
    [0] => Array
        (
            [0] => (Linux; U; Android 8.1.0; Infinix)
        )

)

验证数字的正则表达式集 

$mail = 'p.mahesh2304@gmail.com';  //邮箱地址

$pattern = "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/";

if(!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/', $mail)){

  echo ‘验证不通过’;

}else{

   echo ‘验证通过’;

}

/^\d+\.\d+$/g  只能是数字 或者带小数点,不能为负数和非数字
验证数字:^[0-9]*$
验证n位的数字:^/d{n}$
验证至少n位数字:^/d{n,}$
验证m-n位的数字:^/d{m,n}$
验证零和非零开头的数字:^(0|[1-9][0-9]*)$
验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
验证非零的正整数:^/+?[1-9][0-9]*$
验证非零的负整数:^/-[1-9][0-9]*$
验证非负整数(正整数 + 0) ^/d+$
验证非正整数(负整数 + 0) ^((-/d+)|(0+))$
验证长度为3的字符:^.{3}$
验证由26个英文字母组成的字符串:^[A-Za-z]+$
验证由26个大写英文字母组成的字符串:^[A-Z]+$
验证由26个小写英文字母组成的字符串:^[a-z]+$
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
验证由数字、26个英文字母或者下划线组成的字符串:^/w+$
验证用户密码:^[a-zA-Z]/w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。
验证是否含有 ^%&',;=?$/" 等字符:[^%&',;=?$/x22]+
验证汉字:^[/u4e00-/u9fa5],{0,}$
验证Email地址:^/w+[-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$ ( ^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$ )
验证InternetURL:^http://([/w-]+/.)+[/w-]+(/[/w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
验证电话号码:^(/(/d{3,4}/)|/d{3,4}-)?/d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
验证身份证号(15位或18位数字):^/d{15}|/d{}18$
验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。
整数:^-?/d+$
非负浮点数(正浮点数 + 0):^/d+(/./d+)?$
正浮点数 ^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮点数(负浮点数 + 0) ^((-/d+(/./d+)?)|(0+(/.0+)?))$
负浮点数 ^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮点数 ^(-?/d+)(/./d+)?$
详细出处参考:http://www.jb51.net/article/20839.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值