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. touch、touchevent-事件总结

    1.废话不多说,直接上代码,如下 package com.example.mygestrue; import android.support.v7.app.ActionBarActivity; imp ...

  2. 有关Canvas的一点小事--鼠标绘图

    1.  如何根据鼠标位置获取canvas上对应位置的x,y. 2.  canvas的图糊了,设置宽和高的方式不对. 3.鼠标绘图代码 之前听说过canvas这个元素,但是实际上并没有深入了解过.不过日 ...

  3. [JSOI2009]计数问题

    一个n*m的方格,初始时每个格子有一个整数权值.接下来每次有2种操作: 改变一个格子的权值: 求一个子矩阵中某种特定权值出现的个数. 输入输出格式 输入格式: 第一行有两个数N,M. 接下来N行,每行 ...

  4. js进阶 13-4 jquery自定义动画animate()如何使用

    js进阶 13-4 jquery自定义动画animate()如何使用 一.总结 一句话总结:animate(params,[speed],[easing],[fn]),参数:params:一组包含作为 ...

  5. amazeui学习笔记--css(常用组件7)--输入框组Input-group

    amazeui学习笔记--css(常用组件7)--输入框组Input-group 一.总结 1.使用:Input group 基于 Form 组件和 Button 组件扩展,依赖这两个组件.在容器上添 ...

  6. 几个移动web app开发框架

    几个移动web app开发框架 一.总结 1.有amaze ui,有app.js(登录注册界面用到的)  二.几个移动web app开发框架 jQuery Mobile jQuery Mobile框架 ...

  7. 软件——机器学习与Python,输入输出的用法

    转自:http://www.cnblogs.com/graceting/p/3875438.html 输入很简单 x = input("Please input x:") Plea ...

  8. LVM 常用命令

    fdisk -l 查看硬盘信息 df -h查看文件系统使用量 fdisk /dev/sdb处理硬盘,删除分区,新建分区之类 partprobe将核心的 partition table 更新 mkfs ...

  9. [Err] 1136 - Column count doesn&#39;t match value count at row 1

    1 错误描写叙述 [Err] 1136 - Column count doesn't match value count at row 1 Procedure execution failed 113 ...

  10. 【Codeforces Round #439 (Div. 2) C】The Intriguing Obsession

    [链接] 链接 [题意] 给你3种颜色的点. 每种颜色分别a,b,c个. 现在让你在这些点之间加边. 使得,同种颜色的点之间,要么不连通,要么连通,且最短路至少为3 边是无向边. 让你输出方案数 [题 ...