详解 正则表达式

详解 正则表达式文章目录一、概念二、作用三、语法规则3.1定义规则3.2符号简介3.3preg_match用法详解3.4详解元字符3.4.1\d和[0-9]3.4.2\D和[^0-9]3.4.3^和$3.4.4*代表出现0次或者多次3.4.5+代表出现1次或者多次3.4.5?代表出现0次或者1次3.4.6{n}3.4.7{n,}3.4.8{n,m}3.4.9点号(.)3.5.0x|y3.5.1[xyz]3.5.2[^xyz]3.5.3\b3.5.4\s3.5练习3.5.1手机号验证案例3.5.2用户名验证案例

大家好,欢迎来到IT知识分享网。

一、概念

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

二、作用

实际当中主要用于下面几个方面:
1、注册页面判断用户输入的内容是否符合验证规则
2、从整体字符串中看是否包含指定的字符串
3、找到符合规则的字符串进行替换

三、语法规则

3.1定义规则

在这里插入图片描述

3.2符号简介

正则表达式可以有普通符号和元字符组成。

普通字符如下:
‘/a/’代表你就要匹配字符a
‘/a7/’代表你就要匹配字符a7

元字符:
是具有特殊意义的符号
‘/\d/’ 代表要找寻数字

匹配的方法:
preg_match( r e g , reg, reg,str,[$arr]);
$reg就是自己定义的正则表达式
$str是自己要查询的字符串
$arr是匹配到的结果

在这里插入图片描述

下面是各种符号的用法:
http://tool.oschina.net/uploads/apidocs/jquery/regexp.html

3.3preg_match用法详解

preg_match()只要找到一次符合正则表达式的结果就终止了,不会再往下匹配
在这里插入图片描述

preg_match_all()是匹配一次成功以后不会终止,会一直匹配到完
在这里插入图片描述

\d和[0-9]是一个意思
在这里插入图片描述

3.4详解元字符

3.4.1 \d和[0-9]

代表数字 参照上面

3.4.2 \D和[^0-9]

\D代表非数字和[^0-9]是一个意思
在这里插入图片描述

^在中括号中代表非
在这里插入图片描述

3.4.3^和$

^如果直接放在定界符前面代表以。。。开头
在这里插入图片描述

$代表以。。。。结尾
在这里插入图片描述

3.4.4*代表出现0次或者多次

zo*能匹配“z”以及“zoo”。*等价于{0,}。
在这里插入图片描述

3.4.5+代表出现1次或者多次

zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。
在这里插入图片描述

3.4.5?代表出现0次或者1次

“do(es)?”可以匹配“does”或“does”中的“do”。?等价于{0,1}。
在这里插入图片描述

3.4.6{n}

{n}代表固定出现n次
“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。
在这里插入图片描述

3.4.7{n,}

{n,}代表最少出现n次,多者不限

o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”
在这里插入图片描述

3.4.8{n,m}

{n,m}代表最少出现n次,最多出现m次

“o{1,3}”将匹配“fooooood”中的前三个o。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格
在这里插入图片描述

3.4.9点号(.)

表示匹配除了\n(换行符以外的任意单个字符)

在这里插入图片描述

如果要表示真正的点号必须用.

在这里插入图片描述

3.5.0 x|y

竖线代表是或者的意思
在这里插入图片描述

3.5.1 [xyz]

[xyz]点匹配xyz中的任意一个字符

在这里插入图片描述

3.5.2 [^xyz]

[^xyz]代表除了x y z以外的任意单个字符

在这里插入图片描述

3.5.3\b

\b代表匹配单词的边界
在这里插入图片描述

如果是如下什么也匹配不到

在这里插入图片描述

3.5.4\s

\s匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。

在这里插入图片描述

3.5练习

自己一个正则表达式,验证手机号11位 都是数字

3.5.1手机号验证案例

在这里插入图片描述

3.5.2用户名验证案例

用户名可以是数字 字母 下划线 中横线 个数是3-8位
在这里插入图片描述

在这里插入图片描述

3.5.3邮箱验证

在这里插入图片描述

四、高级运用

4.1反向引用

在正则表达式中出现小括号,是把小阔号中的内容当做子单元来使用
在这里插入图片描述

示例:
比如:你的字符串$str=‘aaaahttp://www.baidu.comdddd’;
然后你把里面的网址匹配出来替换成一个a标签

preg_replace(正则表达式,替换成什么,源字符串)
在这里插入图片描述

4.2贪婪模式

正则表达式里会尽可能多的匹配的元素
在这里插入图片描述

4.3禁止贪婪模式

让正则表达式尽可能少的匹配结果
在这里插入图片描述

在这里插入图片描述

4.4禁止贪婪模式案例

如果我们这样写会尽可能多的匹配
在这里插入图片描述

我们让它尽可能少的匹配

在这里插入图片描述

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/12301.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信