KonishiLee's Blog

正则表达式

方法

1
2
3
4
5
6
7
8
9
10
11
12
//1.test
reg.test(str);
//2.search
str.serach(reg);
//3.match
str.match(reg);
//4.replace
str.replace(reg,'one');
str.replace(reg,function($0,$1,$2){});
//5.exec
reg.exec(str);
//=>[$0,$1,$2]

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
\s : 空格
\S : 非空格
\d : 数字
\D : 非数字
\w : 字符 ( 字母 ,数字,下划线_ )
\W : 非字符
/A/i 大小写 i
/A/g 全局g
/\d+/g 全局匹配 至少一个数字串的
/去匹|配|符/g 全局匹配 去匹、配、符
//[bdc] b 或 d 或 e
var re00 = /a[bde]c/;
//[^bdc] 排除 b 或 d 或 e
var re01 = /a[^bde]c/;
//[a-z] a-z
var re03 = /a[a-z]c/;
//[e-z0-9A-Z]其中的一位
var re04 = /a[e-z0-9A-Z]c/;
//[e-z0-9A-Z]其中的多位
var re04 = /a[e-z0-9A-Z]+c/;
//. : 任意字符
//\. : 真正的点
//\b : 独立的部分 ( 起始,结束,空格 )
//\B : 非独立的部分
//正则要做为 传参的时候 就需要用 new 的方式
var re = new RegExp('\\b'+sClass+'\\b');
//\1 : 重复的第一个子项
//\2 : 重复的第二个子项
var re111 = /\w\w/; //c9
var re222 = /(\w)\1/; //cc 99 一模一样
//量词 不确定的
//量词 : {}
{4,7} : 最少出现4次,最多出现7
{4,} : 最少出现4
{4} : 正好出现4
+ : {1,} //\d{1,}
? : {0,1} : 出现0次或者1
* : {0,} : 至少出现0次*/
a(?!b) 所有a后面不跟着b的信息
//^ : 正则的最开始位置,就代表起始的意思
//$ : 正则的最后位置 , 就代表结束的意思
[\b] 退格符
\0 null
(?:pattern)
(pattern)
//$1 = r,$2 = i;
"rich".replace(/(r)(i)/g,"$2$1");
==> irch
//$1 = i;
"rich".replace(/(?:r)(i)/g,"$1$1");
==>iich
如果喜欢这个分享,就帮忙买杯咖啡吧