夜雪天狼
学习笔记
技术博文
转载备份
心灵鸡汤
目录
正则表达式
发布者:caijw
阅读量:61912
发布时间:2013-11-10 02:32:49
# 概述 ## 概念 符合一定规则的表达式 ## 作用 用于专门操作字符串 ## 特点 用于一些特定的符号来表示一些代码操作,这样可以简化书写。所以学习正则表达式,就是在学习一些特殊符号的使用 ## 好处 可以简化对字符串的复杂操作 ## 弊端 符合定义越多,正则越长,阅读性越差 # 常见符号 说明:X表示字符X或者匹配的规则。 一、字符 符号 | 含义 -------- | -------- x | 字符 x \\ | 反斜线字符 \t | 制表符 ('\u0009') \n | 新行(换行)符 ('\u000A') \r | 回车符 ('\u000D') \f | 换页符 ('\u000C') \a | 报警 (bell) 符 ('\u0007') 二、字符类 符号 | 含义 -------- | -------- [abc] | a、b或 c(简单类) [^abc] | 任何字符,除了 a、b或 c(否定) [a-zA-Z] | a到 z或 A 到 Z,两头的字母包括在内(范围) [a-d[m-p]] | a到 d或 m 到 p:[a-dm-p](并集) [a-z&&[def]] | d、e或 f(交集) [a-z&&[^bc]] | a到 z,除了 b和 c:[ad-z](减去) [a-z&&[^m-p]] | a到 z,而非 m到 p:[a-lq-z](减去) 三、预定义字符类 符号 | 含义 -------- | -------- . | 任何字符(与行结束符可能匹配也可能不匹配) \d | 数字:[0-9] \D | 非数字: [^0-9] \s | 空白字符:[ \t\n\x0B\f\r] \S | 非空白字符:[^\s] \w | 单词字符:[a-zA-Z_0-9] \W | 非单词字符:[^\w] 四、边界匹配器 符号 | 含义 -------- | -------- ^ | 行的开头 $ | 行的结尾 \b | 单词边界 \B | 非单词边界 \A | 输入的开头 \G | 上一个匹配的结尾 \Z | 输入的结尾,仅用于最后的结束符(如果有的话) \z | 输入的结尾 五、Greedy数量词 符号 | 含义 -------- | -------- X? | X,一次或一次也没有 X* | X,零次或多次 X+ | X,一次或多次 X{n} | X,恰好 n次 X{n,} | X,至少 n次 X{n,} | X,至少 n次 六、组和捕获 捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C)))中,存在四个这样的组: 1. ((A)(B(C))) 2. \A 3. (B(C)) 4. (C) >组零始终代表整个表达式。在替换中常用$匹配组的内容。 -separator-