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 : 非数字 ...
随机推荐
- ASP.NET路径解惑
对于ASP.NET的路径问题,一直都是云里雾里,没有去详细的理解,今天正好可以梳理一下它们之间的关系和使用方法.而若想明白路径的表示方式的使用方法和区别以及注意事项可以通过下面的几个概念来进一步加深: ...
- node.js服务器核心http和文件读写
使用htpp给客服端的数据,把数据交给浏览器渲染.利用 http创建服务器,如客户端请求为:127.0.0.1:3000或127.0.0.1:3000/xxx.html时 ,判断www文件夹中,文件 ...
- Python 实用第三方库
1. youtube 视频下载 使用:you-get pip install you-get you-get 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
- LVM 常用命令
fdisk -l 查看硬盘信息 df -h查看文件系统使用量 fdisk /dev/sdb处理硬盘,删除分区,新建分区之类 partprobe将核心的 partition table 更新 mkfs ...
- 【Codeforces Round #442 (Div. 2) C】Slava and tanks
[链接] 我是链接,点我呀:) [题意] 有n个位置,每个位置都可能有不定数量的tank; 你每次可以选择一个位置投掷炸弹. 并且,这个位置上的所有tank都会受到你的攻击. 并且失去一点体力. 然后 ...
- 【2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 G】Query on a string
[链接]h在这里写链接 [题意] 让你维护字符串的一段区间内T子串的个数. [题解] 因为t不大,所以. 暴力维护一下a[i]就好. a[i]表示的是S串从i位置开始,能和T串匹配几个字符. 用树状数 ...
- C语言free函数的原理——————————【Badboy】
今天在网上看到了这样一个问题,"假设malloc 了一块字符串的内存.然后,它改变了这个字符串的大小,问会不会有一部分内存没有被释放掉."这个问题,曾经的确没有细致想过. 当然.我 ...
- NSString常见用法
1.创建常量字符串 NSString *str = @"Hello World!"; 2.创建空字符串,给予赋值 NSString *str = [[NSString alloc] ...
- 博客已迁移至http://blog.csdn.net/lujinhong2/
http://blog.csdn.net/lujinhong2/ 请继续关注
- FATFS在SD卡里,写入多行数据出的问题
串口接收的数据存入数组,然后把数组截取有效部分,存入SD卡里的一行没有问题 但是从SD卡读出这一行之后,重新写入SD卡就有了问题,经过调试发现,错误在于 \n 一直是这一串数据,为什么会出错呢??? ...