正则表达式:
元字符 (metacharacter)
. (英文的句号) 匹配除了换行符以外的任意字符
限定符 主要处理匹配次数,其中 * + ?为贪婪匹配 (意思为在符合匹配条件的时候尽可能多的匹配,可以使用?来取消贪婪,费贪婪模式匹配尽可能少)
* 匹配前面的子表达式零次或多次。等价于 {0,}
+ 匹配重复1次或更多次。等价于{1,} 如:\d+匹配1个或更多连续的数字
? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。
{n} n 是一个非负整数。匹配确定的 n 次。
{n,} n 是一个非负整数。至少匹配n 次。
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。
字符类匹配
\d 匹配一位数字 0\d\d-\d\d\d\d\d\d\d\d 零开头的三位区号的电话号码 或 0\d{2}-\d{8} 表示必须连续重复匹配2(8)次。
\D 匹配一个非数字字符。等价于 [^0-9]。
\w 匹配字母或数字或下划线或汉字等。
定位符 描述字符串、单词的边界。
^ 匹配字符串的开始,除非在方括号表达式中使用,此时它表示不接受该字符集合。
$ 匹配字符串的结束
^和$的作用如下:如果不使用^和$的话,对于\d{5,12}而言,使用这样的方法就只能保证字符串里包含5到12连续位数字,而不是整个字符串就是5到12位数字。
如 没有^$则 abc12345abc defff1234567ddd 都可以进行匹配。如果加上则只能匹配 12345 123456789 这些纯数字。
\b 代表单词的单词的开头或结尾,也就是单词的分界处。但是\b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。 \bhi\b 匹配hi
\B 匹配非单词边界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。
小括号 (pattern) 一般与 | 搭配使用
() 匹配 pattern 并获取这一匹配。可以缓存
(?:) 匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式
(?=) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。
(?!) 负向预查,在任何不匹配 pattern 的字符串开始处匹配查找字符串。
中括号 []
[xyz] 字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。
[^xyz] 负值字符集合。匹配未包含的任意字符。
[a-z] 字符范围。匹配指定范围内的任意字符。 匹配a到z任意一个小写字符
[^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符。
特殊字符
\cx 匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。
x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。
\f 匹配一个换页符。等价于 \x0c 和 \cL。
\n 匹配一个换行符。等价于 \x0a 和 \cJ。
\r 匹配一个回车符。等价于 \x0d 和 \cM。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\t 匹配一个制表符。等价于 \x09 和 \cI。
\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。
\ 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。
- 浏览: 145617 次
相关推荐
6正则表达式笔记[借鉴].pdf
正则表达式的基本语法,主要用于javascript开发时看正则表达式方便点
python正则表达式笔记
Java正则表达式学习笔记,比较基础,适合初学者
Python正则表达式笔记
js正则表达式笔记,可以运行,正则 笔记
Java正则表达式笔记.pdf
php正则表达式笔记,本人手写的 //----正则匹配----- $p = '/example/' $str = "I am an example"; preg_match($p,$str); //如果$str中含有$p两个/中间的内容(内容不要求完全相同,要求为包含于关系),则返回真 //...
关于正则表达式的定义,常用方法。看后使你更快了解如何使用正则表达式
正则表达式 txt文档 详细的总结正则表达式!
[小小明]Python正则表达式全套笔记v0.3(1.8万字干货)
正则表达式基础学习笔记!!!从基础开始正则表达式基础学习笔记!!!
正则表达式笔记(re.search/re.match/re.split/re.compile/用法) - douzujun - 博客园博客园首页新随笔联系订阅管
7个常用正则表达式要点,可以解决绝大部分问题
正则表达式学习笔记正则表达式学习笔记正则表达式学习笔记正则表达式学习笔记正则表达式学习笔记正则表达式学习笔记