
正则表达式 【九】
发布日期:2021-05-14 16:19:39
浏览次数:21
分类:精选文章
本文共 1097 字,大约阅读时间需要 3 分钟。
正则表达式(RegExp)对象方法
1. RegExp对象基础
RegularExpression(简称RegExp)是用于匹配字符串的在JavaScript中内置对象。通过创建RegExp对象,可以利用正则表达式来对字符串进行复杂的匹配操作。
2. 常用方法
除了test()
方法,RegExp对象还提供了exec()
方法,用以执行搜索并返回结果。
2.1 test()方法
- 语法:
test(str)
- 功能:检测创建的RegExp实例所匹配的字符串是否存在。返回值:
true
:表示匹配成功。false
:表示匹配失败。
2.2 exec()方法
- 语法:
exec(str)
- 功能:使用RegExp实例中的表达式对一个字符串进行搜索。如果返回值不为
null
,则表示匹配成功。此时返回的值是一个数组,包含以下信息: [0]
:匹配的整个字符串部分。- **
[1]
**及以下:对应于正则表达式中的捕获组,其值即为各子匹配结果。 input
:被匹配的原始字符串。index
:匹配项起始的字符位置(0基数)。lastIndex
:最后一个匹配项结束的字符位置(0基数)。
注意事项
局部匹配与全局匹配:
- 如果 RegExp 对象被标记为全局(即正则表达式最后带有
g
标志),则每次调用exec()
或test()
都会从最后一次匹配结束后的位置继续搜索。 - 如果没有标记全局(默认情况),则每次都将从字符串的起始位置开始新的搜索。
匹配结果的返回:
exec()
方法:若没有找到匹配,返回null
;若找到匹配,返回一个包含完整匹配信息的数组。匹配成功后, RegExp对象的静态属性也会更新,反映匹配结果。test()
方法:其只返回布尔值,无法获取具体的匹配信息。
实例说明
案例1:验证密码格式
var txtpassword = "my oeac";var re = new RegExp("^[A-Za-z]\\w{5,17}$");var result = re.test(txtpassword);// 如果result为true,表示密码符合正则表达式格式要求。
案例2:提取超链接的href属性值
var code = "";var re = /href="(.*?)"]/g;var result = re.exec(code);console.log("匹配结果:" + result[0]);
总结
通过test()
和exec()
方法,可以分别实现对字符串是否符合正则表达式的单次和多次匹配检查。如果需要高效地处理多段匹配任务,则建议结合exec()
方法并配合全局标志g
来实现。
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年04月07日 11时53分23秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
iOS_Runtime3_动态添加方法
2019-03-07
Leetcode第557题---翻转字符串中的单词
2019-03-07
Problem G. The Stones Game【取石子博弈 & 思维】
2019-03-07
Unable to execute dex: Multiple dex files
2019-03-07
Java多线程
2019-03-07
Unity监听日记
2019-03-07
openssl服务器证书操作
2019-03-07
expect 模拟交互 ftp 上传文件到指定目录下
2019-03-07
linux系统下双屏显示
2019-03-07
PDF.js —— vue项目中使用pdf.js显示pdf文件(流)
2019-03-07
我用wxPython搭建GUI量化系统之最小架构的运行
2019-03-07
我用wxPython搭建GUI量化系统之多只股票走势对比界面
2019-03-07
selenium+python之切换窗口
2019-03-07
重载和重写的区别:
2019-03-07
搭建Vue项目步骤
2019-03-07
账号转账演示事务
2019-03-07
idea创建工程时错误提醒的是architectCatalog=internal
2019-03-07
SpringBoot找不到@EnableRety注解
2019-03-07
简易计算器案例
2019-03-07
在Vue中使用样式——使用内联样式
2019-03-07