Allen 2022-09-18 00:27:53 6564 0 0 0 0
正则表达式,一、正则表达式preg_match_all—执行一个全局正则表达式匹配(按指定的正则表达式,在给定的字符串中进行搜索,匹配到符合特征的部分取出来。$pattern=/test/;$str=abc…

一、正则表达式

preg_match_all — 执行一个全局正则表达式匹配

(按指定的正则表达式,在给定的字符串中进行搜索,匹配到符合特征的部分取出来。

$pattern='/test/';

$str='abc';

preg_match_all($pattern,$str,$arr);

二、界定符

一般习惯使用/作为界定符,其实,除了字母,数字,和反斜线以外的字符都可以作为定界符,如:#,!,{},|,都是可以的。

定界符放在起始位置,前后一致。

三、普通字符

比如: a-z、 A-Z、0-9、双引号、单引号,它们没有特殊的含义

四、元字符

元字符指的是在正则表达式中有特殊含义的字符常用元字符见备注!

d 匹配任意一个十进制数字,等价于[0-9]

如:$pattern="/tdst/"; 匹配【t[0-9]st】

D 匹配任意一个除十进制数字以外字符,等价于[^o-9]

如:$pattern="/tDst/"; 匹配【t[a-Z]st】

s 匹配任意一个空白字符,比如换页符、换行符、回车符、制表符、垂直制表符

如:$pattern="/tsst/, 匹配到t st, “t st"( 换行符, 回车符, 制表符)

S 匹配除空白字符以外的任何一个字符

w 匹配任意一个数字或字母或下划线

如:$pattern="/twst/"; 匹配【t[a-Z]st】

W 匹配除数字、字母、下划线以外的任意一个字符

. 匹配除换行符以外的任意一个字符

* 匹配0次或1次或多次前面的任一字符

(放在*前面的字符可以出现0次,也可以出来1次或多次

如:$pattern="/te*st/"; 可以匹配 【abctst】【abcteeeest】

+ 匹配1次或多次其前面的字符

? 匹配o次或1次其前面的字符

{n} 表示其前面字符恰好出现n次

{n,} 表示其前面字符出现不少于n次

{n,m} 表示其前面的字符至少出现n次,最多出现m次

--上面是限制前面字符个数的条件

示例:

$pattern="/t.{3}st/"; 相当于[/t...st]

$pattern="/t.*st/"; (.*相当于0个点或1个点或多个点)

$pattern="/t.*t/"; 【abctestwdskfstsfst】可以匹配最长的[testwdskfstsfst]

(.*配合使用默认情况下是贪婪匹配,尽可能多的去匹配。

如果不需要这种方式:.*后面加一个?可以解决贪婪匹配的问题。

...

^或A 匹配字符串开始位置

$或者z 匹配字符串的结束位置

l 匹配两个或多个模式

l 匹配方括号中的任意一个字符

[^] 匹配除方括号中字符以外的任意一个字符

(0) 将括号中作为一个整体以便将其中的内容获取到

地址:https://www.bilibili.com/video/BV1Vi4y157Yk


Tag: 正则表达式
我也要发一个   ·   返回首页   ·   返回[编程]   ·   前一个   ·   下一个
欢迎评论
未登录,
请先 [ 注册 ] or [ 登录 ]
(一分钟即可完成注册!)
返回首页     ·   返回[编程]   ·   返回顶部