正则表达式 学习资料整理
前端  /  管理员 发布于 7年前   291
常用正则表达式 整理篇
17355.htm
正则表达式高级学习技巧
9229.htm
1.正则表达式简介
正则表达式(Regular expression,简写为Regexes)是一种用来操作和检验字符串数据的强大工具。它相当与一串特殊的字符,用它可以转换成算法,对文本进行匹配等操作。
事实上正则表达式有其自身的一套语法,这种语法对于初学者来说显得有些晦涩难懂。尤其是其构造比较困难,称为很多入门者的障碍。但当掌握后却可以轻易的解决以前不容易解决的很多文本类问题,如验证提取等。
其常用场合有如下三种:
Ø 测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。
Ø 替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字。
Ø 根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字。
2.正则表达式基础语法
2.1匹配不同类型的字符
字符类 | 匹配的字符 |
\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]。 |
.(点号) | 任一字符 |
[...] | 括号中的任一字符 |
[^…] | 非括号中的任一字符 |
2.2定位控制字符
^ | 其后的模式必须在字符串的开始处,如果是多行则在任一行的开始C#需要设定Multiline标志 |
$ | 前面的模式必须在一行的末尾,如果是多行,则在任意行的末尾 |
\A | 前面的模式必须在字符串的开始处;多行标志被忽略 |
\z | 前面的模式必须在字符串的末尾处,多行标志被忽略 |
\Z | 前面的模式必须位于字符串的末尾或位于换行符前 |
\b | 匹配一个单词字符的开始,单词字符是[a-zA-Z0-9]中的一位 |
\B | 匹配一个非单词边界的位置, 不在一个单词的开始 |
2.3指定重复字符
{n} | 匹配前面的字符n次 |
{n,} | 匹配前面的字符最少n次 |
{n,m} | 匹配前面的字符n至m次 |
? | 匹配前面的字符0次或1次 |
+ | 匹配前面的字符至少1次 |
* | 匹配前面的字符至少0次 |
2.4特殊控制类
| | 指定字符替换,即该位置可以是|两边的任一个表达式 |
2.5 特殊字符转义序列