正则表达式学习笔记

//+----------------------------------------------------------------------
//|author lizhuohai
//+----------------------------------------------------------------------
//|date 20161010
//+----------------------------------------------------------------------
//|title 正则表达式学习笔记(regular expression)
//+----------------------------------------------------------------------


1.定义:


    正则表达式是一个用来匹配、替换字符串的工具。

2.常用元字符(metacharacter):
. 匹配换行符以外的任意字符
\d  [0-9]
\D [^0-9]
\w 类似但不等价于[a-zA-Z0-9_]
\W 匹配任何非单词字符,等价于[^A-Za-z0-9_]
\s 匹配任何不可见字符,等价于[\f\n\r\t\v] 换页符、换行符、回车符、制表符、垂直制表符
\S 匹配任何可见字符,等价于[^\f\n\r\t\v]
^ 字符串开始位置匹配
$ 字符串结束位置匹配
\b 单词边界匹配
\B 非单词边界匹配
? 匹配0个或者1个前面的子表达式,或指明一个非贪婪限定符。要匹配?,请用\?


3.方括号 []     表示一个字符集 如:[aeiou]  [0-9]  [a-zA-Z]  [^a-z]


4. ^            ^在[]内表示非,在[]外表示从字符串开始处匹配;$与之相反


5.重复 *表示重复0次或者更多次;+表示重复1次或者更多次


6.子表达式 如:(very)+ large  可以匹配very large、very very large、very very....large


7.子表达式计数 (very){1,3} large 表示very的数量可以是1到3个这个区间范围之内


8.分支  com|org|net


9.转义字符 \


10.非捕获元
?: ?= ?!  

11.练习一下

#/\* Do NOT delete this comment \*/#


[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?


([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))


注意:不同编程语言在正则表达式的使用上有一定的区别,这是基于php的开发环境的正则的使用















































评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值