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 #词边界 \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正则及常用正则函数怎么用的更多相关文章
- 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 ...
- Javascript正则构造函数与正则表达字面量&&常用正则表达式
本文不讨论正则表达式入门,即如何使用正则匹配.讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式. Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达 ...
- PHP中常用的正则表达式由哪些元素构成?
在程序开发中,我们常常要用到正则表达式,对于新手来说,很多时候知道正则表达式是怎么回事,但当真正需要使用的时候,却不知该用什么函数,具体的修饰符也比较混乱.下面小编就为大家整理了一些php正则表达式中 ...
- Java正则速成秘籍(一)之招式篇
导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...
- Java正则速成秘籍(二)之心法篇
导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...
- Java正则速成秘籍(三)之见招拆招篇
导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...
- iOS 中的正则匹配(工具类方法)
正则表达式 正则表达式是对字符串操作的一种逻辑公式, 用事先定义好的一些特定字符.及这些特定字符的组合, 组成一个"规则字符串", 这个"规则字符串"用来表达对 ...
- PHP常用函数总结(一):
<?php echo "<pre>"; //===============================时间日期======================== ...
- 爬虫的三种解析方式(正则解析, xpath解析, bs4解析)
一 : 正则解析 : 常用正则回顾: 单字符: . : 除换行符以外的所有字符 [] : [aoe] [a-w] 匹配集合中任意一个字符 \d : 数字 [0-9] \D : 非数字 \w : 非数字 ...
随机推荐
- 第一个使用Spring Tool Suite(STS)和Maven建立的Spring mvc 项目
一.目标 在这篇文章中.我将要向您展示怎样使用Spring Frameworks 和 Maven build创建您的第一个J2ee 应用程序. 二.信息 Maven是一个java项目的构建工具(或者自 ...
- 移动mm 话费支付接入过程(ane)
下面记录移动mm 话费支付接入的过程 1.强联网.弱联网差别.sdk是否有区分?用户体验部分由什么不同和差异? 差别在于强联网是网络通道(wifi/gprs/3g),弱联网是走短信通道,用户层面差异在 ...
- 一个很详细的web.xml讲解(转)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "- ...
- 【例题 7-10 UVA - 11212】Editing a Book
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 迭代加深搜. 很容易想到,最多只要搜8层就可以得到答案了 ->最多8下肯定可以还原. 则枚举一下最大层数.然后做个深搜就好. ...
- 将exe添加到windows服务中
mongod --dbpath D:\MongoDB\data --logpath=D:\MongoDB\logs\mongodb.log --install http://www.cnblogs.c ...
- vue使用(三)
本节目标:获取后端api数据 需求:一个按钮,点击之后将服务器上的数据获取到,并显示出来 方法一: 1. 准备工作, (1)安装官方插件 vuedemo02>npm install vue-re ...
- delete noprompt archivelog 报错ORA-00245,RMAN-08132
在RMAN执行 delete noprompt archivelog until time 'sysdate-1'; 报错 ORA-00245: control file backup fai ...
- 软件——python,主函数
1;; 如何在spyder中运行python程序 如下图, 写入一个输出 ' hellow word '的程序 然后点击运行按钮就可以运行了.
- gvim不能直接打开360压缩打开的文件
1. 压缩文件a.rar 2. 默认使用360压缩打开 3.用gvim打开对应的a.c文件,提示permission denied 4.用gvim跟踪目录,发现360管理的缓冲目录无法打开 原因未分析 ...
- 缓存(cache)的理解
缓存的特点: 读取速度很快,容量相比硬盘较小: 缓存在实现时,本质上仍然是一块内存区域: cache 机制的一个核心关注点还在于,究竟什么样的数据应该放在缓存中,显然不是所有,那就应当是部分,就应该是 ...