正则表达式
正则表达式
|
new Reg(“Bosn”).tes(“Hi,Bosn”);
类型 | 作用 | demo |
---|---|---|
. | 任意字符(除了换行符以外: \n,\r,\u2028) | /…/.test(“1a@”) |
\d | 数字0-9 | /\d\d\d/.test(“123”) |
\D | 非\d,即不是数字0-9的字符 | /\D\D\D/.test(‘ab!’); |
\w | 数字0-9,或字母a-z及A-Z(大小写),或者下划线 | /\w\w\w/.test(“aB9_”) |
非\w | /\sabc/.test(“abc”) | |
\s | 空格符, TAB,换页,换行符 | |
\S | 非\s | |
\t\r\n\v\f | tab回车,换行,垂直制表符 换页符 | |
[…] | 字符范围 | [a-z],,,,, [0-9] ,,,,[a-z0-9A-Z_] |
[^…] | 字符范围以外 | ^[a-z] , ,,[ ^ abc] |
^ | 行首 | ^Hi |
$ | 行尾 | test$ |
---|---|---|
\b | 零宽单词边界 | \bno(会匹配a no) |
\B | 非\b | |
/\^abc/.test(‘^abc’) | ||
---|---|---|
(x) | 分组,并记录匹配到字符串 | /(abc)/ |
\n | 表示使用分组符(x)匹配到的字符串 | /(abc)\1/.test(“abcabc”) |
(?:x) | 仅分组 | /(?:abc)(def)\1/.test(“abcdefdef”) |
x* | 重复次数>=0,贪婪算法 | 正则表达式:abc*将匹配ab,abc,abcccccc. |
x+ | 重复次数>0,贪婪算法 | 正则表达式abc+,将匹配abc,abccccc,不匹配ab |
x*?, x+? | 同x*,x+ ,非贪婪算法 | |
x? | 出现0次或1次 | |
x/y | x或者y | x/y匹配x,也匹配y.再比如ab/cd/ef将匹配ab或cd或ef |
x{n},x{n,},x{n,m} | 重复n次,重复>=n次,重复次数x满足,n<=x<=m 闭区间 | x{5}匹配xxxxxxo,不匹配xxxxo.x{1,3}匹配x,xx,xxx |
三个Flag
golab,ignoreCase, multiline
/abc/gim.test(“ABC”);//true
RegExp(“abc”,”mgi”);//mgi 的顺序无所谓
RegExp的对象方法
- complie
- exec
- test
- toString
demo
|
string类型与正则相关的方法
- String.prototype.seacrch
- String.prototype.replace
- String.prototype.match
- String.prototype.split
demo
|
demo2.邮件格式的正则匹配
|