概念
正则表达式是一种用来匹配字符串的强有力的武器。设计思想使用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,就认为他“匹配”,否则就不匹配
分类
|字符集
| \s | 匹配空白字符,包括空格、制表符、换页符 |
| \S | 匹配非空白字符 |
| \d | 匹配0-9的任意一个数字 |
| \D | 匹配非数字字符 |
| \w | 匹配任意一个字母或数字或下划线 |
| \W | 匹配任意非单词字符 |
|定位符
| ^ | 匹配输入字符串的开始位置 |
| $ | 匹配输入字符串的结束位置 |
| \b | 匹配单词边界 |
| \B | 匹配非单词边界 |
|修饰符
| g | 全局匹配,找到所有满足匹配的子串 |
| i | 忽略英文字母大小写 |
| m | 多行匹配,把^和$变成行开头和行结尾 |
| s | 使用单行模式 |
|量词
| {n} | 表达式重复n次 |
| {n,} | 表达式至少重复n次 |
| {n,m} | 表达式至少重复n次,至多重复m次 |
| * | 表达式不重复,或者重复任意次,相当于{1,} |
| + | 表达式至少重复1次,相当于{1,} |
| ? | 表达式重复0次或者1次,相当于{0,1} |
|量词(懒惰匹配)
| *? | 表达式重复任意次,但尽可能少重复 |
| +? | 表达式至少重复1次,但尽可能少重复 |
| ?? | 表达式重复0次或者1次,但尽可能少重复} |
| {n,}? | 表达式至少重复n次,但尽可能少重复 |
| {n,m}? | 表达式至少重复n次,至多重复m次,但尽可能少重复 |
|特殊字符
| \n | 匹配换行符 |
| \r | 匹配回车符 |
| \t | 匹配水平制表符 |
| \v | 匹配垂直制表符 |
| \f | 匹配换页符 |
|分组与范围
| . | 匹配除“\n”之外的任何单个字符 |
| (xx) | 把“xx”当作一个整体 |
| (abc xyz) | 匹配“abc”或“xyz” |
| [abc] | 匹配 abc中任何一个字符 |
| [^abc] | 匹配除了abc之外任何一个字符 |
| [a-z] | 字符范围,匹配指定范围内的任意字符 |
| [^a-z] | 负值字符范围,匹配任何不在指定范围内的任意字符 |
| (?#comment) | 用于提供注释 |
|需转义字符
| ^ | [ |
| { | * |
| \ | + |
| < | > |
| . | $ |
| ( | ) |
掌握正则表达式:强大的字符串匹配与概念解析
本文详细解读正则表达式的概念、各类字符集、定位符、修饰符以及量词的用法,帮助读者理解如何利用它们进行高效字符串匹配。
199

被折叠的 条评论
为什么被折叠?



