zoukankan      html  css  js  c++  java
  • 正则表达式

    preg_replace()支持数组替换

    $p      =array('/[0-3]/','/[4-6]/','/[7-9]/');
    $replace=array('你','好','啊');
    $sub="0scsd4jff8jndjd";
    $str1=preg_replace($p,$replace,$sub);
    show($str1);

    如果目标字符串是数组,则preg_replace会输出所有的元素,而preg_filter()只保留替换后的元素

    $p      =array('/[0-3]/','/[4-6]/','/[7-9]/');
    $replace=array('你','好','啊');
    $sub=array('jhdh3','jhb','dhcd7','s34','ooi');
    $str1=preg_replace($p,$replace,$sub);
    show($str1);

    preg_grep()是阉割版的preg_filter,输出符合模式的原字符串而不进行匹配

    preg_split($pattert,$subject);explode();  根据pattern把字符串分割为数组

    preg_quote($str)正则运算符转移

    界定符 表示一个正则表达式的开始和结束  常用/……/   或 #……#

    正则表达式工具  regexpal

    原子

      可见原子

      不可见原子:换行符    回车   制表符   空格直接在模式中键入空格就可以匹配到了

    建议:匹配中文的时候最好把要匹配的中文转换成unicode编码,再写进模式,以防止编码问题出现的匹配错误。工具:unicode编码转换工具

    原子的集合

    .  匹配除换行符之外的任意字符

    d  匹配任意一个十进制数字,即[0-9]

    s  匹配一个不可见原子,即[f v]

    w  匹配任意一个数字,字母,下划线,即[a-zA-Z0-9_]

    量词

    {n} n次

    {n,}  至少n次

    {n.m}  n到m次

    *  零到多次

    +  1到多次

    ?  零到1次

    边界控制

    ^  匹配字符串开始的位置

    $  匹配字符串结束的位置

    模式单元

    ()匹配其中的整体为一个原子

    贪婪匹配(默认):结果存在歧义时取其长

    懒惰匹配(在结束界定符后加大写的U):结果存在歧义时取其短

    比如:$pattern='/imooc.+123/'

       $subject="I love imooc__123456789";

    默认的贪婪模式匹配输出为:imooc__123456789

    把模式改为:$pattern='/imooc.+123/U';

    即懒惰匹配,输出为:imooc__123

    常见修正模式

    U  懒惰匹配

    i  忽略大小写

    x  忽略正则表达式中的空白

    s  让元字符 ' . ' 匹配包括换行符在内的所有字符

    常见正则表达式

    非空  .+

    保留两位小数的浮点数  d+.d{2}$   应用:货币……

    中国大陆手机号:共11位,第一位是1,第二位是3|4|5|7|8    1(3|4|5|7|8)d{9}

    email ,没有权威模式  ^w+(.w+)*@w+.(w+)+$

    url http://www.baidu.com    协议:://域名.顶级域名(协议可有可无常见的有http和HTTPS,顶级域名一定为字母)

    ^(https?://)?(w+.)+[a-zA-Z)+$  第一个?表示http后面的s可有可无,第二个问号表示整个协议可有可无

      

  • 相关阅读:
    MQ 2035(MQRC_NOT_AUTHORIZED)
    C# 构造函数中调用虚方法的问题
    Oracle bug 使用max或min函数into到一个char类型报字符缓冲区太小的错误
    windows2003 64位 iis6.0 运行32位web应用程序
    .NET安装和配置Oracle数据访问组件(ODAC)
    WMS函数组:10.创建采购订单
    报表:BOM展开程序
    WMS函数组:9.交货单过帐3(BDC)
    WMS函数组: 7.交货单行项目除
    WMS函数组:1.检查ZPB2是否存在
  • 原文地址:https://www.cnblogs.com/yolo-bean/p/7736550.html
Copyright © 2011-2022 走看看