// 程序开发中,需要做字符串的匹配工作,比如匹配手机号/邮箱/身份证号/ip地址… ,判断一个字符是否满足某些条件
// 所有的变成语言中都引入了正则表达式:Java、Python、PHP、OC、Swift、C…
// js 中内置RegExp regular expression类,正则表达式类型
// 正则表达式是由一些特殊的字符组成的字符串
// 1.js 构造对象 参数就是正则表达式的匹配规则
var r1 = new RegExp("\d")
// 2.字面量创建正则表达式对象,将表达式字符写在//中间
var r2 = /\d/
// test() 传入一个字符串,判断字符串是否符合正则表达式规则,符合规则返回true,不符合返回false
// console.log(r2.test(“ahdjksh5dkjhqj”))
// 判断是否包含abc
var reg0 = /abc/
// ^ 判断是否以abc开头
var reg1 = /^abc/
// 判断是否以abc结尾
var reg2 = /abc$/
// 以abc开头,并以abc结尾
var reg3 = /^abc$/
// 匹配连续5个数字
var reg4 = /\d{5}/
// 匹配数字、字母、下划线
var reg5 = /^\w$/
// 15237034401
// 13243259989
// 13243529945
// 19844512145
// 15974545121
// 356789
// 匹配手机号码正则
var phoneReg = /^1[356789]\d{9}$/
var phoneNum = “13243259989”
console.log(phoneReg.test(phoneNum))
// 45646465@qq.com
// 15454547@sina.cn
// feishjew@163.com
var emailReg = /^\w+@\w+.\w+$/
var email = “djkdqw@dsqcom”
console.log(emailReg.test(email))
var string = “45645fshfq12asweq341hfkd5234123jkfhsjdf23423khfdhjsa”
// 默认正则表达式只会匹配第一个符合条件的字符
// /表达式/g 表示匹配所有 返回数组,数组中就是符合条件的字符
var reg6 = /\d+/g
// match() 找出所有符合正则规则的数据
var rs = string.match(reg6)
console.log(rs)
var html = ‘
var reg7 = /
- <a.?"(.?)".?href="(.?)"/g
-
var htmlReg = /htt\w+:.*?"/g
console.log(html.match(reg7))
console.log("---------------------------------")
// exec() execute执行 查找符合条件的字符串 找不到返回null
// var rs = htmlReg.exec(“dsasds”)
// console.log(rs)
// var rs = htmlReg.exec(html)
// console.log(rs)
var arr;
// 赋值操作也可以看做一个表达式,表达式的值说就是赋的值
while(arr=reg7.exec(html)){console.log(arr[1], arr[2])
}
// 找一个网页,将网页保存为html源码