今天是我第一天的博客日志

今天是2016年12月5日,天气晴朗,关于正则表达式的介绍

正则表达式是由以下几个部分组成
1)定界符:定义正则的边界
2)原子:是正则不可分割的最小组成单位
3)元字符:不能单独使用,是配合原子使用的,用来拓展原子的功能、修饰和限定原子
4)模式修正符:对整个正则的修正


下面我我们来按照顺序依次给大家介绍这四种组成部分
定界符:
$preg = '//'; 


其中的两个//就是正则的定界符,所有的正则语法写在//之间(模式修正符在//之外),除了使用//之外,还可以使用!!、||、@@等。除字母、数字和斜线“\”,其他任何字符都能做定界符。这里就不一一演示了,值得一提的是正则通常都用//表示,业内普遍使用//,为了代码可读性和方便别人维护,默认使用//来做定界符,我们作为初学者,就遵循这个规范来写吧。


原子:
原子是最小的组成单元。
$preg = '/a/'; 


其中a就是原子,这个正则的意思就是字母a。
其中有一些原子是通用的。例如你们可以想到表示所有数字的,表示所有字母的,下面介绍一些常用的通配符:
\d  表示所有数字,相当于[0-9]
\D  表示非数字,相当于[^0-9]
\w  表示字,相当于[a-zA-Z0-9_]
\W  表示非字,相当于[^a-zA-Z0-9_]
\s  表示打印字符,\n \t  \
\S  表示非打印字符,除了空格回车垂直制表符等


元字符:
*       前面的原子匹配匹配任意次
+       前面的原子匹配一次或多次
?       前面的原子匹配0次或者1次
|       前面的原子匹配两个或者多个分支(或的关系,两边出现一次即可匹配,优先级最低)
{n}     前面的原子匹配n次
{n,}    前面的原子匹配至少n次
{n,m}   前面的原子匹配n到m次
^或\A   目标字符串必须以什么什么开始(在多行中表示每一行第一个,在[]中表示非,例如[^a]就是除了a)
$或\Z   目标字符串必须以什么什么结尾(在多行中表示每行最后一个)
\b      单词边界
\B      除了单词以外的部分
()      1.改变优先级别2.将小原子变成大原子(add)*就是add这个单词任意次,不是d字符任意次3.子模式比如(http|https),在()中加?:取消子模式即(?:)4.反向引用
^与$    要在两端,表示以什么什么开始和以什么什么结尾,例如'/^a$/',就是必须a开始,a结尾的字符串




模式修正符:
1.写在定界符右边
2.可以组合写,也可以单独写(就是可以写一个或者多个)
常用的有
i  不区分大小写
m  视为多行(^$每一行)
s  可以匹配换行
x  忽略空白
v  取消贪婪模式,或者使用'(.*?)'取消,使用'(.*?)'就不能使用u

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值