0.链接
1.初识正则表达式
1.1 正则表达式的功能

1.2 正则表达式的测试工具

2.常用正则表达式
3.正则表达式中的字符含义
| 字符 | 含义 |
| \f | 表示换页符相当于 \x0c 和 \cL |
| \n | 换行符,相当于\x0c和\cL |
| \r | 回车符,相当于 \x0d 和 \cM |
| \s | 匹配任意空白字符,包含空格符、制表符、换页符等,相当于 [\f\n\v\t] |
| \S | 匹配任意的非空白字符,相当于[^ \f\n\v\t] |
| \t | 表示制表符,相当于\x09 和 \cI |
| \v | 表示垂直制表符等价于\x09、cl |
| \b | 边界符,匹配单词边界 |
| \B | 非单词边界的匹配 |
| \w | 匹配字母、数字、下划线。等价于’[A-Za-z0-9_]’ |
| \W | 匹配非字母、数字、下划线。等价于’[A-Za-z0-9_]’ |
| \0 | 匹配 NULL(U+0000)字符, 不要在这后面跟其它小数,因为 \0 是一个八进制转义序列 |
| $ | 匹配字符串的结尾位置,设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n’ 或 ‘\r’。匹配 $ 字符本身,请使用 转义符即可 \$ |
| () | 标记子表达式的开始和结束位置子表达式可以获取以便以后使用 |
| * | 表示匹配前面的子表达式零次或者多次,匹配* 使用转义字符 \* |
| + | 表示匹配前面的子表达式一次或者多次,匹配+使用转义字符 \+ |
| . | 表示匹配除了换行符\n之外的 所有单字符 ,匹配.使用转义字符 \. |
| ? | 表示匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \? |
| [ | 标记一个中括号的表达式开始,匹配[使用转义字符 \[ |
| \ | 转义字符,将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n’ 匹配字符 ‘n’。’\n’ 匹配换行符。序列 ‘\’ 匹配 “”,而 ‘(’ 则匹配 “(”。 |
| ^ | 表示字符串的开始位置,在使用中 []代表的是一个字符集,^只有在字符集中才是反向字符集的意思,表示否定。其余的一般都表示限定开头,要匹配^字符 使用转义字符 \^ |
| { | 标记限定符表达式的开始,要匹配{字符 使用转义字符 \{ |
| | | 指明两项之间的一个选择,相当于逻辑表达式中或者,要匹配|字符 使用转义字符 \| |
| - | 连字符 ,连字符包含开始值和结束值 在中括号[]中显示- 需要转义符帮忙\- |
| {n} | n 是一个非负整数。匹配确定的 n 次。例如,‘o{2}’ 不能匹配 “Bob” 中的 ‘o’,但是能匹配 “food” 中的两个 o。 |
| {n,} | n 是一个非负整数。至少匹配n 次。例如,‘o{2,}’ 不能匹配 “Bob” 中的 ‘o’,但能匹配 “foooood” 中的所有 o。‘o{1,}’ 等价于 ‘o+’。‘o{0,}’ 则等价于 ‘o*’。 |
| {n,m} | m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,“o{1,3}” 将匹配 “fooooood” 中的前三个 o。‘o{0,1}’ 等价于 ‘o?’。请注意在逗号和两个数之间不能有空格。 |
| x|y | 匹配X或者Y |
| [abc] | 字符集合,匹配所包含的任意一个字符,例如{abc}中可以匹配"about"中的"a"和"b" |
| [^abc] | 负值字符集合。匹配未包含的任意字符。也就是说白表示否定 |
| [a-z] | 字符范围。匹配指定范围内的任意字符。例如,’[a-z]’ 可以匹配 ‘a’ 到 ‘z’ 范围内的任意小写字母字符。 |
| [^a-z] | 字符范围。非指定范围内的任意字符。例如,’[^a-z]’ 表示不是小写字符即可 |
| (x) | 匹配 ‘x’ 并且记住匹配项,就像下面的例子展示的那样。括号被称为 捕获括号。模式/(foo) (bar) \1 \2/中的 ‘(foo)’ 和 ‘(bar)’ 匹配并记住字符串 “foo bar foo bar” 中前两个单词。模式中的 \1 和 \2 匹配字符串的后两个单词。注意 \1、\2、\n 是用在正则表达式的匹配环节。在正则表达式的替换环节,则要使用像 $1、2 、 2、2、n 这样的语法,例如,‘bar foo’.replace( /(…) (…)/, ‘$2 $1’ )。 |
| (?:x) | 匹配 ‘x’ 但是不记住匹配项。这种叫作非捕获括号,使得你能够定义为与正则表达式运算符一起使用的子表达式。来看示例表达式 /(?:foo){1,2}/。如果表达式是 /foo{1,2}/,{1,2}将只对 ‘foo’ 的最后一个字符 ’o‘ 生效。如果使用非捕获括号,则{1,2}会匹配整个 ‘foo’ 单词。 |
| x(?=y) | 匹配’x’仅仅当’x’后面跟着’y’.这种叫做先行断言。例如,/Jack(?=Sprat)/会匹配到’Jack’仅仅当它后面跟着’Sprat’。/Jack(?=Sprat |
| (?<=y)x | 匹配’x’仅仅当’x’前面是’y’.这种叫做后行断言。例如,/(?<=Jack)Sprat/会匹配到’ Sprat ‘仅仅当它前面是’ Jack '。/(?<=Jack |
| x(?!y) | 仅仅当’x’后面不跟着’y’时匹配’x’,这被称为正向否定查找。例如,仅仅当这个数字后面没有跟小数点的时候,/\d+(?!.)/ 匹配一个数字。正则表达式/\d+(?!.)/.exec(“3.141”)匹配‘141’而不是‘3.141’ |
| \xn | 匹配n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,'\x41' 匹配 "A"。'\x041' 则等价于 '\x04' & "1"。正则表达式中可以使用 ASCII 编码。 |
| \num | 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,'(.)\1' 匹配两个连续的相同字符。 |
9万+

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



