正则: 用于定义一些字符的规则 计算机通过正则表达式检查一些字符是否符合标准
*0个以上
? 0个或1个
. 除了换行符之外的所有字符
+ 一个以上
贪婪模式
/.*/
非贪婪模式
/.*?/
1 以什么开始
[]$ 以什么结束
2$ 以什么开始以什么结束
[^] 除了什么 其他都可以
//g 全局匹配
//i 不区分大小写
var str = "123abc";
var patt1 = /^[0-9]+abc$/;
console.log(str.match(patt1))
元字符:([0-9]+)([a-z]+)
() 子表达式
[0-9] 一个0-9的数值
[a-z] 一个a-z的字符
+ 一个以上
模式修正符:gi
g 全局匹配
i 不区分大小写
var str = "123abcdefGh4abcdeFgh"
// 匹配一个数字
var patt = /[0-9]/
//全局匹配一个数字
var patt = /[0-9]/g
// 匹配一个字符
var patt = /[a-z]/
// 全局匹配一个字符
var patt = /[a-z]/g
// 不区分大小写全局匹配一个字符
var patt = /[a-z]/gi
// 匹配一个0-9一个a-z的字符
var patt = /([0-9])([a-z])/
// 全局匹配一个0-9一个a-z的字符
var patt = /([0-9])([a-z])/g
// 全局匹配多个0-9一个a-z的字符
var patt = /([0-9]+)([a-z])/g
// 全局匹配一个0-9多个a-z的字符
var patt = /([0-9])([a-z]+)/g
// 不区分大小写全局匹配一个0-9多个a-z的字符
var patt = /([0-9])([a-z]+)/gi
console.log(str.match(patt))
贪婪匹配
var str = "<h1>减肥垃圾矢量发动机</h1>"
var patt = /<.*>/
console.log(str.match(patt))
非贪婪匹配
var str = "<h1>减肥垃圾矢量发动机</h1>"
var patt = /<.*?>/
console.log(str.match(patt))
var str = "<h1>减肥垃圾矢量发动机</h1>"
var patt = /<\w+?>/
// 匹配字母、数字、下划线。等价于'[A-Za-z0-9_]'。
// 1+
console.log(str.match(patt))
split() 方法用于把一个字符串分割成字符串数组。
传递一个正则表达式作为参数,使这个方法根据正则表达式进行拆分
不使用全局匹配依然全部拆分
var str = "1a2b3c4d5e6f7g"
var ret = str.split(/[a-z]/)
console.log(ret)
replace()方法用于在字符串中用一些字符替换另一些字符,或替换一个与 正则表达式匹配的子串。
参数1:被替换的内容
参数2:新内容
注意:如果不进行全局匹配只替换第一个
var result = str.replace(/b|e/g,"☆")
console.log(result)
search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
var ret1 = str.search(/[4-9]/)
console.log(ret1)