正则
1.正则符
| 代码 | 含义 |
|---|---|
| [0-9] | 匹配一个0-9的数值 |
| \d | 匹配一个0-9的数值 |
| \D | 匹配一个除了0-9的数值 |
| [^0-9] | 匹配一个除了0-9的数值 |
| \w | 匹配一个0-9 a-z A-Z的数值 |
| [0-9a-zA-Z] | 匹配一个0-9 a-z A-Z的数值 |
| \W | 匹配一个除了0-9 a-z A-Z的数值 |
| [^0-9a-zA-Z] | 匹配一个除了0-9 a-z A-Z的数值 |
| * | 0个以上 |
| ? | 0个或1个 |
| . | 除了换行符_之外的所以字符 |
| + | 一个以上 |
| [0-9]{n} | 匹配n个0-9的数值 |
| [0-9]{n,} | 匹配n个或n个以上的0-9的数值 |
| [0-9]{n,m} | 至少匹配n个最多匹配m个0-9的数值 |
| ^ [] | 以什么开始 |
| []& | 以什么结束 |
| ^ []& | 以什么开始,以什么结束 |
| [^] | 除了什么,其他都可以 |
| g | 全局匹配 |
| i | 不区分大小写 |
| /.*/ | 贪婪模式 |
| /.*?/ | 非贪婪模式 |
| () | 子表达式 |
2.正则符使用
var str = '15dsadFDS4sdFD'
//匹配一个数字
var patt = /[0-9]/
console.log(str.match(patt))//'1'
//全局匹配一个数字
var patt = /[0-9]/g
console.log(str.match(patt))//'1','5','4'
// 匹配一个字符
var patt = /[a-z]/
console.log(str.match(patt))//'d'
// 全局匹配一个字符
var patt = /[a-z]/g
console.log(str.match(patt))//'d','s','a','d','s','d'
// 不区分大小写全局匹配一个字符
var patt = /[a-z]/gi
console.log(str.match(patt))//'d','s','a','d','F','D','S','s','d','F','D'
// 匹配一个0-9一个a-z的字符
var patt = /([0-9])([a-z])/
console.log(str.match(patt))//'5d','5','d'
// 全局匹配一个0-9一个a-z的字符
var patt = /([0-9])([a-z])/g
console.log(str.match(patt))//'5d','4s'
// 全局匹配多个0-9一个a-z的字符
var patt = /([0-9]+)([a-z])/g
console.log(str.match(patt))//'15d','4s'
// 全局匹配一个0-9多个a-z的字符
var patt = /([0-9])([a-z]+)/g
console.log(str.match(patt))//'5dsad','4sd'
// 不区分大小写全局匹配一个0-9多个a-z的字符
var patt = /([0-9])([a-z]+)/gi
console.log(str.match(patt))//'5dsadFDs','4sdFD'
3.正则方法
- split()
此方法用于把一个字符串分割成字符串数组
传递一个正则表达式作为参数,使这个方法根据正则表达式进行拆分,不使用全局匹配依然全部拆分 - replace()
此方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串
参数1:被替换的内容
参数2:新内容
注意:如果不进行全局匹配只替换第一个 - search()
此方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串
var str = "1a2b3c4d5e6f7g"
var ret = str.split(/[a-z]/)
console.log(ret)//'1','2','3','3','4','5','6','7',''
var result = str.replace(/b|e/g,"☆")
console.log(result)//1a2☆3c4d5☆6f7g
var ret1 = str.search(/[3-7]/)
console.log(ret1)//4
4255

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



