JS正则表达式中pattern设置有哪些关键注意事项?

2026-04-30 00:184阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2230个文字,预计阅读时间需要9分钟。

JS正则表达式中pattern设置有哪些关键注意事项?

RegExp对象的创建:可以使用常规的正则表达式创建RegExp对象,直接量形式如下:/正则表达式/。但需要在参数变量变化的场景下,RegExp构造函数是更好的选择:var reg1=/w/g; var reg2=new RegExp('\'\');

RegExp对象的创建:

  常规的正则表达式的创建可用直接量,即斜杠 “/” 括起来的字符。但在要求参数变化的环境下,RegExp()构造函数是更好的选择:

var reg1 = /'\w+'/g; var reg2 = new RegExp('\'\\w+\'','g');

  对比两种创建方式,RegExp中的第一个参数为要创建的正则字符串,一方面注意,因为不是直接量的表示形式,因此不用斜杠“ / ”括起来了;而是字符串中必须要对引号“ ‘ ”和转义符号“ \ ”进行二次转义。

  此外,无论是直接量还是RegExp()构造函数,都是生成了新的RegExp对象,并将其赋值给变量。

在《Javascript权威指南》一书中讲到,对于正则表达式的直接量,ECMAscript 3规定在每次它时都会返回同一个RegExp对象,因此用直接量创建的正则表达式的会共享一个实例。直到ECMAScript 5才规定每次返回不同的实例。

各浏览器中,IE一直遵守ECMAScript 5中的规定,其他浏览器的较老版本则遵循ECMAScript 3的规定。因此在实际应用中,采取构造函数创建的方法比较安全,或者在使用lastIndex属性时要记得归0。

阅读全文

本文共计2230个文字,预计阅读时间需要9分钟。

JS正则表达式中pattern设置有哪些关键注意事项?

RegExp对象的创建:可以使用常规的正则表达式创建RegExp对象,直接量形式如下:/正则表达式/。但需要在参数变量变化的场景下,RegExp构造函数是更好的选择:var reg1=/w/g; var reg2=new RegExp('\'\');

RegExp对象的创建:

  常规的正则表达式的创建可用直接量,即斜杠 “/” 括起来的字符。但在要求参数变化的环境下,RegExp()构造函数是更好的选择:

var reg1 = /'\w+'/g; var reg2 = new RegExp('\'\\w+\'','g');

  对比两种创建方式,RegExp中的第一个参数为要创建的正则字符串,一方面注意,因为不是直接量的表示形式,因此不用斜杠“ / ”括起来了;而是字符串中必须要对引号“ ‘ ”和转义符号“ \ ”进行二次转义。

  此外,无论是直接量还是RegExp()构造函数,都是生成了新的RegExp对象,并将其赋值给变量。

在《Javascript权威指南》一书中讲到,对于正则表达式的直接量,ECMAscript 3规定在每次它时都会返回同一个RegExp对象,因此用直接量创建的正则表达式的会共享一个实例。直到ECMAScript 5才规定每次返回不同的实例。

各浏览器中,IE一直遵守ECMAScript 5中的规定,其他浏览器的较老版本则遵循ECMAScript 3的规定。因此在实际应用中,采取构造函数创建的方法比较安全,或者在使用lastIndex属性时要记得归0。

阅读全文