JS compile()方法:编译正则表达式
2023-06-13 09:12:01 时间
JavaScript 正则表达式中的 compile() 方法能够重新编译正则表达式,这样在脚本执行过程中可以动态修改正则表达式的匹配模式。
compile() 方法的用法与 RegExp() 构造函数的用法是相同的,不了解的读者请转到《在JS中使用正则表达式》。
compile() 的具体语法格式如下:
regexp.compile(regexp, modifier)
参数 regexp 表示正则表达式对象,或者匹配模式字符串。当第 1 个参数为匹配模式字符串时,可以设置第 2 个参数 modifier,使用它定义匹配的类型,如 g i gi 等。
设计当匹配到第 3 个字母时,重新修改字符模式,定义在后续操作中,仅匹配大写字母,结果就只匹配到 S 这个大写字母。
var s = JavaScript //测试字符串 var r = //w/g; //匹配模式 var n = 0; while(r.test(s)) { if (r.lastIndex == 3) { r.compile(/[A-Z]/g); r.lastIndex = 3; console.log( 匹配文本 = + RegExp.lastMatch + r.lastIndex = + r.lastIndex); }
演示结果如下:
在上面示例代码中,r.compile(/[A-Z]/g);可以使用r.compile( [A-Z] , g 代替。
重新编译正则表达式后,正则表达式搜包含的信息都被恢复到初始化状态,如 lastIndex 变为 0。因此,如果想继续匹配,就需要设置 lastIndex 属性,定义继续匹配的起始位置。反之,当执行正则表达式匹配操作之后,如果想用该正则表达式去继续匹配其他字符串,不妨利用下面方法恢复其初始状态,而不用手动重置 lastIndex 属性。
regexp.compile(regexp);
其中 regexp 表示同一个正则表达式。
23087.html
htmljavaJavaScript相关文章
- JS字符串补全方法padStart()和padEnd()简介
- js对象和原型、原型链的关系
- js正则表达式校验金额-js正则表达式简单校验方法
- JS addEventListener()和attachEvent()方法:注册事件
- 使用JS实现Redis数据读取(js读取redis)
- 使用 JS 操作 Redis:实现强大数据存储.(js调用redis)
- asp.net下利用JS实现对后台CS代码的调用方法
- ASP.NET获取不到JS设置cookies的解决方法
- js对象之JS入门之Array对象操作小结
- 关于JS控制代码暂停的实现方法分享
- js回车提交表单两种实现方法
- js获取当前日期代码适用于网页头部
- 利用js进行输入框自动匹配字符的小例子
- JS替换和时间插件的结合使用方法
- js判断浏览器类型的方法
- js特殊字符转义介绍
- Js导出table内容到Excel的简单实例
- js/jquery解析json和数组格式的方法详解
- js的隐含参数(arguments,callee,caller)使用方法
- js动态拼接正则表达式的两种方法
- js获取url中"?"后面的字串方法
- node.js中的fs.realpathSync方法使用说明
- node.js中的fs.lchmodSync方法使用说明
- js使用正则子表达式匹配首字母与尾字母相同单词的方法