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 : 非数字 ...
随机推荐
- HDU 1506 Largest Rectangle in a Histogram(DP)
Largest Rectangle in a Histogram Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ...
- 自己动手开发jQuery插件全面解析 jquery插件开发方法
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级 ...
- vue 星星评分组件
显示评分和打分组件,可现实半颗星星效果 效果图: 参数名 类型 说明 score Number 分数 ,默认0,保留一位小数 disabled Boolean 是否只读,默认false,鼠标点击可以打 ...
- 【CS Round #43 A】Expected Dice
[链接]https://csacademy.com/contest/round-43/task/expected-dice/ [题意] 大水题 [题解] 把36种可能的结果都存下来. 然后把重复出现的 ...
- Java 服务端入门和进阶指南
作者:谢龙 链接:https://www.zhihu.com/question/29581524/answer/44872235 来源:知乎 著作权归作者所有,转载请联系作者获得授权. 现在互联网上资 ...
- Android中Activity切换时共享视图元素的切换动画(5.0以上)
同一时候公布在我的博客 点此进入 背景 说来这个的背景很easy,常常在使用图片列表的时候就会想,假设"列表中的图片放大到整个屏幕"作为 Activity 的补间动画.就很完美了. ...
- 安装GDB和GDBSERVER
安装GDB和GDBSERVER 转自http://www.360doc.com/content/10/0407/17/155970_21971613.shtml 把GDBSERVER装入文件系统 转自 ...
- 7、linux之定时器
(1) 一个timer_list 结构体的实例对应一个定时器,其定义如下: struct timer_list { struct list_head entry, /*定时器列表*/ unsigned ...
- 交换排序(java)
package exchange_sort; import java.util.Random; /*各类交换排序 * ------数据存储范围1~s.length-1 ------ *主要包含 ...
- UVA 1156 - Pixel Shuffle(模拟+置换)
UVA 1156 - Pixel Shuffle 题目链接 题意:依据题目中的变换方式,给定一串变换方式,问须要运行几次才干回复原图像 思路:这题恶心的一比,先模拟求出一次变换后的相应的矩阵,然后对该 ...