正则表达式
正则表达式
|
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.邮件格式的正则匹配
|