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