正则表达式——学习笔记

2/10/2017来源:ASP.NET技巧人气:1263

非打印字符

0. \t (table)制表符 等价于\x09和\cl 1. \n (line feed)换行符 等价于\x0a和\cJ 2. \v (vertical)垂直制表符 等价于\x0b和\cK 3. \f (form feed)换页符 等价于\x0c和\cL 4. \r (rarriage return)回车符 等价于\x0d和\cM 5. \s (str)匹配任何空白字符,包括空格、制表符、换页符等) 等价于[\f\n\r\t\v] 6. \S匹配任何非空白字符 等价于[^\f\n\r\t\v]

特殊字符

0. ^ 表示匹配输入字符串的开始位置,若在方括号中使用,则表示不接受该字符集合(例如上述\S的等价匹配) 1. $ 匹配输入字符串的结尾,若设置了RegExp对象的Multiline属性,则$也匹配\n或\r 2. ? 匹配前面的子表达式0-1次,或指明一个非贪婪限定符 3. + 匹配前面的子表达式1-n次 4. * 匹配前面的子表达式0-n次 5. . 匹配除换行符(\n)外的任何单字符(相当于windows系统中的?) 6. () 标记一个子表达式的开始和结束位置,子表达式可供以后使用 7. [ 标记一个中括号表达式的开始()用于字符集合 8. { 标记限定符表达式的开始 9. \ 将下一个字符标记为特殊字符、或原义字符、或后向引用、或八进制转义符 上述所有特殊字符,若要匹配其本身,都需要在其前面加反斜杠来转义使用

限定符

限定符表示给定组件出现多少次才能满足匹配 0. * 0-n次 1. + 1-n次 2. ? 0-1次 3. {n} 确定的n次 4. {n,} 至少n次 5. {n,m} (逗号两个数之间不能有空格) 最少n次且最多m次 * + ? 限定符都是贪婪的,即尽可能多的匹配文字,在其后加一个?可实现非贪婪或最小匹配 例如:<h1>Chapter 1 - Introduction to Regular ExPRession </h1> /<.*>/将匹配上述全部内容 /<.*?>/将只匹配<h1>

定位符

定位符用来描述字符串或单词的边界 0. ^ 描述字符串开始位置 1. $ 描述字符串结束位置 2. \b 描述单词的前或后边界 3. \B 描述非单词边界