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 : 非数字 ...
随机推荐
- Bitmap-把方形图片处理为圆形
这个是直接在网上转载的,自己验证可靠 转载自http://my.oschina.net/zhouz/blog/213164 直接贴上代码 import android.graphics.Bitmap; ...
- 课程与教学管理系统(CMS):Sakai
课程与教学管理系统(CMS):Sakai 一.总结 java的spring.Hibernate等框架开发的 J2EE的开源cms 二.SAKAI Sakai是一个自由.开源的在线协作和学习环境,由Sa ...
- 【AtCoder Regular Contest 082】Derangement
[链接]点击打开链接 [题意] 在这里写题意 [题解] 贪心. 连续一块的p[i]==i的话,对答案的贡献就应该为(这个连续块的长度+1)/2; 长度为1的也正确. (也即两两相邻的互换位置.) [错 ...
- 程序中图片透明 函数(使用SetBkColor API函数)
void DrawTransparentBitmap(HDC hdc, HBITMAP hBitmap, short xStart, short yStart, COLORREF c ...
- Redo current损坏
如果损坏的是current redo log (select group#,sequence#,archived,status from v$log;) 有两种情况: A. 数据库是正常关闭 ...
- [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 ...
- swift项目第九天:正则表达式的学习
import UIKit /* 练习1:匹配abc 练习2:包含一个a~z,后面必须是0~9 -->[a-z][0-9]或者[a-z]\d * [a-z] : a~z * [0-9]/\d : ...
- trident原理及编程指南
目录 trident原理及编程指南 一.理论介绍 1.trident是什么? 2.trident处理单位 3.事务类型 二.编程指南 1.定义输入流 2.统计单词数量 3.输出统计结果 4.split ...
- Android系统开发(8)——linx进程基本概念
一.proc文件系统 传统意义上的文件系统是用于块设备上信息的存储,/proc这个目录是一个虚拟文件系统,它放置的数据都是在内存当中,所以这个目录本身不占用任何硬盘空间.主要包含如下系统信息: 内存管 ...
- go 字符串 数字 整型 浮点 转换
import "strconv" //先导入strconv包 // string到int int, err := strconv.Atoi(string) // string到in ...