JavaScript-RegExp对象
# 方法
# exec()
exec() 方法是一个正则表达式方法。
exec() 方法用于检索字符串中的正则表达式的匹配。
// 声明一个字符串
let str = '<a href="http://www.baidu.com">百度</a>'
// 提取URL 和 标签文本
const reg = /<a href="(.*)">(.*)<\/a>/
// 执行
const result = reg.exec(str)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 正则扩展
# 命名捕获分组
// 声明一个字符串
let str = '<a href="http://www.baidu.com">百度</a>'
// 提取URL 和 标签文本
const reg = /<a href="(?<url>.*)">(?<text>.*)<\/a>/
const result = reg.exec(str)
console.log(result.group.url)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 反向断言
// 声明字符串
let str = 'JS13142你知道吗2231213的'
// 正向断言 根据当前匹配的后面内容去判断前面内容是不是满足条件
const reg = /\d+(?=的)/
const result = reg.exec(str)
// 反向断言
const reg = /(?<=么)\d+/
console.log(result)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# dotAll模式
dot .
元字符
# 常用正则表达式
// (1)匹配 16 进制颜色值
var regex = /#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})/g;
// (2)匹配日期,如 yyyy-mm-dd 格式
var regex = /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/;
// (3)匹配 qq 号
var regex = /^[1-9][0-9]{4,10}$/g;
// (4)手机号码正则
var regex = /^1[34578]\d{9}$/g;
// (5)用户名正则
var regex = /^[a-zA-Z\$][a-zA-Z0-9_\$]{4,16}$/;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
上次更新: 2024/08/14, 04:14:33