正则表达式学习笔记

来源:互联网 发布:殷保华一线法源码 编辑:程序博客网 时间:2024/06/06 18:55
//+----------------------------------------------------------------------
//|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的开发环境的正则的使用















































1 0
原创粉丝点击