zoukankan      html  css  js  c++  java
  • php正则及常用正则函数怎么用

    php正则及常用正则函数怎么用

    一、总结

    一句话总结:

    能够使用正则的函数:
    preg_match();
    preg_match_all();
    preg_replace();
    preg_grep();
    preg_split();

    1、php正则中原子是什么,有哪些?

    解答:原子,就是那些整体咯。例如原子:        .        a-z        A-Z        0-9        [0-9]        [^0-9]        d        D        w        W        s        S。

    2、php正则中的元字符是什么,有哪些?

    解答:操作符。例如:元字符:        *   #0个、1个或多个        +   #1个或多个        ?   #0个或1个        |   #或          #词边界        B  #非词边界        {3}  #3个        {3,7} #3个到7个        {3,}  #3个以上        ^   #以什么开始        $   #以什么结尾       。

    3、php正则中 的单词边界元字符怎么使用?

    解答:单词,$ptn='/d/';。

    4、php正则调用反向引用的两种方式?

    解答:$符号和反斜杠。向后引用:        (abc)        $1        \1。$str="2014-10-20";                $ptn='/(d+)-(d+)-(d+)/';        $rep='$1/$2=$3';        $rep='\1/\2=\3';。

    5、php正则中的模式修正符中的U怎么用?

    解答:U #贪婪模式(最小化匹配)。$str="php 5 a777nd and 6666 and 8888888";                $ptn='/d{3,7}/U';        preg_match_all($ptn,$str,$mt);。

    6、php正则模式修正符中的m怎么用?

    解答:匹配多行。$str="linux is very much php LINUX is very much PHP";                $ptn='/^linux/im';。

    7、php正则中的preg_replace();函数的使用场景?

    解答:可和反向引用一起使用。引用替换。$str="2014-10-20";                $ptn='/(d+)-(d+)-(d+)/';        $rep='$1/$2=$3';                echo preg_replace($ptn,$rep,$str);。

    8、php正则中的preg_grep();函数的使用场景?

    解答:preg_grep在数组中搜索包含指定值的元素。$arr=array(            'linux is very much!',            'php is very much!',            'java is very much!',            'html5 is very much!',        );                $arr=preg_grep('/linux|php|java|html5/',$arr); 。

    9、php正则preg_split();函数的使用场景?

    解答:多个不同符号分割。$str="2014-10=20+30/50";                $arr=preg_split('/-|=|+|//',$str);。

    二、php正则及常用正则函数怎么用

    1、正则使用

    2、学习笔记

    正则表达式:
    1.原子
    2.元子符
    3.模式修正符

    1、原子:

    .
    a-z
    A-Z
    0-9
    [0-9]
    [^0-9]
    d
    D
    w
    W
    s
    S

    2、元字符:

    * #0个、1个或多个
    + #1个或多个
    ? #0个或1个
    | #或
     #词边界
    B #非词边界
    {3} #3个
    {3,7} #3个到7个
    {3,} #3个以上
    ^ #以什么开始
    $ #以什么结尾

    3、向后引用:

    (abc)
    $1
    \1

    4、模式修正符:

    i #忽略大小写
    U #贪婪模式(最小化匹配)
    m #把 视为多行

    5、能够使用正则的函数:

    preg_match();
    preg_match_all();
    preg_replace();
    preg_grep();
    preg_split();

    6、正则使用场景:

    1.手机格式
    /^d{11}$/

    2.邮箱格式
    /^w+@w+.w$/

    3.139开头的手机格式
    /^139d{8}$/

    4.QQ号格式
    /^d{6,11}$/

    三、测试题-简答题

    1、php正则中原子是什么,有哪些?

    解答:原子,就是那些整体咯。例如原子:        .        a-z        A-Z        0-9        [0-9]        [^0-9]        d        D        w        W        s        S。

    2、php正则中的元字符是什么,有哪些?

    解答:操作符。例如:元字符:        *   #0个、1个或多个        +   #1个或多个        ?   #0个或1个        |   #或          #词边界        B  #非词边界        {3}  #3个        {3,7} #3个到7个        {3,}  #3个以上        ^   #以什么开始        $   #以什么结尾       。

    3、php正则中 的单词边界元字符怎么使用?

    解答:单词,$ptn='/d/';。

    4、php正则调用反向引用的两种方式?

    解答:$符号和反斜杠。向后引用:        (abc)        $1        \1。$str="2014-10-20";                $ptn='/(d+)-(d+)-(d+)/';        $rep='$1/$2=$3';        $rep='\1/\2=\3';。

    5、php正则中的模式修正符中的U怎么用?

    解答:U #贪婪模式(最小化匹配)。$str="php 5 a777nd and 6666 and 8888888";                $ptn='/d{3,7}/U';        preg_match_all($ptn,$str,$mt);。

    6、php正则模式修正符中的m怎么用?

    解答:匹配多行。$str="linux is very much php LINUX is very much PHP";                $ptn='/^linux/im';。

    7、php正则中的preg_replace();函数的使用场景

    解答:可和反向引用一起使用。引用替换。$str="2014-10-20";                $ptn='/(d+)-(d+)-(d+)/';        $rep='$1/$2=$3';                echo preg_replace($ptn,$rep,$str);。

    8、php正则中的preg_grep();函数的使用场景?

    解答:preg_grep在数组中搜索包含指定值的元素。$arr=array(            'linux is very much!',            'php is very much!',            'java is very much!',            'html5 is very much!',        );                $arr=preg_grep('/linux|php|java|html5/',$arr); 。

    9、php正则preg_split();函数的使用场景?

    解答:多个不同符号分割。$str="2014-10=20+30/50";                $arr=preg_split('/-|=|+|//',$str);。

     
     
  • 相关阅读:
    VC++文件操作之最全篇
    MFC六大核心机制之五、六:消息映射和命令传递
    MFC六大核心机制之四:永久保存(串行化)
    MFC六大核心机制之三:动态创建
    MFC六大核心机制之二:运行时类型识别(RTTI)
    MFC六大核心机制之一:MFC程序的初始化
    VS2010/MFC编程入门之五十四(Ribbon界面开发:使用更多控件并为控件添加消息处理函数)
    VS2010/MFC编程入门之五十三(Ribbon界面开发:为Ribbon Bar添加控件)
    java并发系列(四)-----源码角度彻底理解ReentrantLock(重入锁)、AQS
    java并发系列(三)-----ReentrantLock(重入锁)功能详解和应用演示
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9153450.html
Copyright © 2011-2022 走看看