正则表达式的创建
自变量创建
- 在一对反斜杠中写正则表达式内容:var reg = /正则表达式/修饰符
构造函数创建
- 构造正则表达式实例: var reg = new RegExp(“正则表达式”,“修饰符”)
修饰符
字符 | 含义 |
---|---|
i | 匹配时忽视大小写 |
m | 多行匹配 |
g | 全局匹配 |
split结合正则
- 可以将一个字符串拆分为一个数组
let str = "13a45d345"
let result = str.split(/[A-z]/)
console.log(result) //['1','3','4','5','4','5']
match结合正则
- 从一个字符串中将符合条件的内容提取出来
str = "1a2e4d5"
let result = str.match(/[A-z]/g)
console.log(result) // "a,e,d"
relpace结合正则
- 将字符串中指定的内容替换成新的内容
str = "1a2e4d5"
let result = str.replace(/[A-z]/g,'@@')
console.log(result) // 1@@2@@4@@5
正则实例
var reg = new RegExp(/^a+$/);
console.log(reg.test('a')) //true
console.log(reg.test('')) //false
var str = "L.Rain";
var regExpTest = '' ;
regExpTest = str.replace(/[R|n]/g , "*"); //'L.*ai*'
var regExp = new RegExp("[R|n]","gi") ;
regExpTest = str.replace(regExp,'*') ; //'L.*ai*'
常用正则表达式
-
\d =>[0-9]
-
\s =>空白符包括换行
-
\S =>非空白符
-
\n =>换行
-
\w =>等价[A-Za-z0-9_]
-
\W =>[^A-Za-z0-9_]
-
. =>匹配换行符 (\n ,\r)之外的任何字符,相当于[^\n\r]
-
- =>匹配长度,等价于{0, }
-
- =>长度大于1,等价{1, }
-
? => 长度0-1位,等价{0,1}
-
[] =>组合 [0-9a-z. ] 相当于 0 − 9 或者 a − z 或者 . 或者 ] 相当于0-9或者a-z或者.或者 ]相当于0−9或者a−z或者.或者
-
{} => 长度限制{0,5}表示0-5,{5}表示长度5,{1,}表示长度大于1
-
^ =>以什么开头,如果出现在[]里,表示非
-
$ =>以什么结尾
-
[\u4e00-\u9fa5] 匹配中文
-
() =>分组
-
.? =>非贪婪匹配,找到一个就停止,例如/\d.?/ 匹配到第一个数字就停止
-
(?<=where) -----匹配where后面的内容
-
\w \w+ 匹配一个或者多个单点字符
-
\s 空字符