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  #词边界        \B  #非词边界        {3}  #3个        {3,7} #3个到7个        {3,}  #3个以上        ^   #以什么开始        $   #以什么结尾       。

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

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

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\nLINUX 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 #词边界
\B #非词边界
{3} #3个
{3,7} #3个到7个
{3,} #3个以上
^ #以什么开始
$ #以什么结尾

3、向后引用:

(abc)
$1
\\1

4、模式修正符:

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

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

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

6、正则使用场景:

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

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

3.139开头的手机格式
/^139\d{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  #词边界        \B  #非词边界        {3}  #3个        {3,7} #3个到7个        {3,}  #3个以上        ^   #以什么开始        $   #以什么结尾       。

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

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

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\nLINUX 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. HIVE常用正则函数(like、rlike、regexp、regexp_replace、regexp_extract)

    Oralce中regex_like和hive的regexp对应 LIKE 语法1: A LIKE B 语法2: LIKE(A, B) 操作类型: strings 返回类型: boolean或null ...

  2. Javascript正则构造函数与正则表达字面量&&常用正则表达式

    本文不讨论正则表达式入门,即如何使用正则匹配.讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式. Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达 ...

  3. PHP中常用的正则表达式由哪些元素构成?

    在程序开发中,我们常常要用到正则表达式,对于新手来说,很多时候知道正则表达式是怎么回事,但当真正需要使用的时候,却不知该用什么函数,具体的修饰符也比较混乱.下面小编就为大家整理了一些php正则表达式中 ...

  4. Java正则速成秘籍(一)之招式篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  5. Java正则速成秘籍(二)之心法篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  6. Java正则速成秘籍(三)之见招拆招篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  7. iOS 中的正则匹配(工具类方法)

    正则表达式 正则表达式是对字符串操作的一种逻辑公式, 用事先定义好的一些特定字符.及这些特定字符的组合, 组成一个"规则字符串", 这个"规则字符串"用来表达对 ...

  8. PHP常用函数总结(一):

    <?php echo "<pre>"; //===============================时间日期======================== ...

  9. 爬虫的三种解析方式(正则解析, xpath解析, bs4解析)

    一 : 正则解析 : 常用正则回顾: 单字符: . : 除换行符以外的所有字符 [] : [aoe] [a-w] 匹配集合中任意一个字符 \d : 数字 [0-9] \D : 非数字 \w : 非数字 ...

随机推荐

  1. Bitmap-把方形图片处理为圆形

    这个是直接在网上转载的,自己验证可靠 转载自http://my.oschina.net/zhouz/blog/213164 直接贴上代码 import android.graphics.Bitmap; ...

  2. 课程与教学管理系统(CMS):Sakai

    课程与教学管理系统(CMS):Sakai 一.总结 java的spring.Hibernate等框架开发的 J2EE的开源cms 二.SAKAI Sakai是一个自由.开源的在线协作和学习环境,由Sa ...

  3. 【AtCoder Regular Contest 082】Derangement

    [链接]点击打开链接 [题意] 在这里写题意 [题解] 贪心. 连续一块的p[i]==i的话,对答案的贡献就应该为(这个连续块的长度+1)/2; 长度为1的也正确. (也即两两相邻的互换位置.) [错 ...

  4. 程序中图片透明 函数(使用SetBkColor API函数)

    void DrawTransparentBitmap(HDC  hdc,  HBITMAP  hBitmap,  short  xStart,  short  yStart,  COLORREF  c ...

  5. Redo current损坏

       如果损坏的是current redo log (select group#,sequence#,archived,status from v$log;) 有两种情况: A.   数据库是正常关闭 ...

  6. [ACM] ural 1057 Amount of degrees (数位统计)

    1057. Amount of Degrees Time limit: 1.0 second Memory limit: 64 MB Create a code to determine the am ...

  7. swift项目第九天:正则表达式的学习

    import UIKit /* 练习1:匹配abc 练习2:包含一个a~z,后面必须是0~9 -->[a-z][0-9]或者[a-z]\d * [a-z] : a~z * [0-9]/\d : ...

  8. trident原理及编程指南

    目录 trident原理及编程指南 一.理论介绍 1.trident是什么? 2.trident处理单位 3.事务类型 二.编程指南 1.定义输入流 2.统计单词数量 3.输出统计结果 4.split ...

  9. Android系统开发(8)——linx进程基本概念

    一.proc文件系统 传统意义上的文件系统是用于块设备上信息的存储,/proc这个目录是一个虚拟文件系统,它放置的数据都是在内存当中,所以这个目录本身不占用任何硬盘空间.主要包含如下系统信息: 内存管 ...

  10. go 字符串 数字 整型 浮点 转换

    import "strconv" //先导入strconv包 // string到int int, err := strconv.Atoi(string) // string到in ...