• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP匹配连续的数字或字母的正则表达式
    POST TIME:2021-10-18 06:19

    正则表达式的写法规则:"/规则需要写在2个斜杠中间/"

    元字符包括: +*?

    元字符理解起来容易混淆,所以我在后面做了代码结果截图

    复制代码 代码如下:

    “+”元字符规定其前导字符必须连续出现一次或多次

    = 比如/es+/
    与“tesseessssseast12354haeasashaha”字符串相匹配,首先要与第一个字母e匹配,然后匹配s,s必须出现一次或多次,请看实例截图。

    “*”元字符规定其前导字符必须出现零次或连续多次

    = 比如/es*/
    与“tesseessssseast12354haeasashaha”字符串相匹配,首先与第一个字母e匹配,后面的s出现零次或者连续出现,看实例。

    “?”元字符规定其前导对象必须连续出现零次或一次

    = 比如/es?/
    与“tesseessssseast12354haeasashaha”字符串相匹配,首先与第一个字母e匹配,后面的s出现零次或者最多出现一次(就是最后一个字母s不重复出现)。

    示例代码:
    复制代码 代码如下:

    $str = "tesseessssseast12354haeasashaha";
    echo "=====".$str."
    ";
    echo "/es+/:".preg_replace("/es+/","-\\0-",$str)."
    ";
    echo "/es*/:".preg_replace("/es*/","-\\0-",$str)."
    ";
    echo "/es?/:".preg_replace("/es?/","-\\0-",$str)."
    ";
    ?>

    执行结果截图:

    另外如果觉得元字符“+*?”比较难理解可以用这种{ }方法代替:

    比如es*我们可以写成es{0,},而es+我们可以写成es{1,},es?可以写成es{0,1},注意:当不确定次数的时候就不用写(也不用空格)。

    当然我们要指定出现多少次的可以写成这样:es{3}表示s出现3次

    举一反三:

    比如要替换连续多个空格为一个空格,我可以这样写:preg_replace("/\s+/"," ",$str);
    比如要找出字符串中的数字(整数)preg_replace("/\d+/", "(\\0)", $str);   \\0是表示符合规则的字符串值

    比如要找出字符串中的带小数点的数字preg_replace("/\d+\.\d+/", "(\\0)", $str); //这里的“\.”表示输出小数点

    找出由字母组成的字符串:preg_replace("/[a-zA-Z]+/", "(\\0)", $str)

    找出由(字母、数字混合)组成的字符串:preg_replace("/([a-zA-Z]|\d)+/", "(\\0)", $str)

     

    正则表达式中“或”运算,使用 “ |

    例如上面的例子:找出由(字母或数字)混合组成的字符串([a-zA-Z]|\d) 也可以这样写([a-zA-Z]|[0-9])

    ^”出现在 “[ ]”内时就被视做否定运算符;[^0-9]表示除了数字之外的任何字符。

    而当“^”位于“[ ]”之外,或没有“[ ]”时,则应当被视做定位符。

    定位符的意思就是比如:“^The”:开头一定要有”The”字符串;类似的:“en$”:$符号表示必须是en结尾。

    其实认真看一遍就会发现正则表达式还是挺简单的,除非是我写的教程真的有问题。

    您可能感兴趣的文章:
    • 最常用的PHP正则表达式收集整理
    • PHP 正则表达式常用函数使用小结
    • php中字符串和正则表达式详解
    • php过滤HTML标签、属性等正则表达式汇总
    • php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
    • PHP正则表达式的效率 回溯与固化分组
    • PHP之正则表达式捕获组与非捕获组(详解)
    • PHP正则表达式之捕获组与非捕获组
    • 浅谈PHP正则中的捕获组与非捕获组
    • PHP实现正则表达式分组捕获操作示例
    上一篇:用AJAX实现的无刷新的分页实现代码(asp.net)
    下一篇:AJAX 请求区分 $_SERVER['HTTP_X_REQUESTED_WITH'] 小解
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信