JavaScript的引用类型(三)--正则类型(var expression= new RegExp())

两种书写方式:

==>字面量形式:var expression = / pattern / flags;

==>正则表达式的方式:var expression = new RegExp("pattern","flags");

==>二者关系(可以使用字面量来定义的任何表达式,都可以使用构造函数来定义):

二者的书写格式
字符类、限定符、分组、向前查找以及反向引用都是什么????

模式中使用的所有元字符都必须转义!!!正则表达式中的元字符包括:

(  [  {  \  ^  $  |  )  ?  *  +  .  ]  }

[   ]的用法
.的用法

转义(这些元字符在正则表达式中都有一或多种特殊用途,因此如果想要匹配字符串中包含的这些字符,就必须对它们进行转义。):

注意:如果使用正则表达式书写格式,则需要对字符进行双重转义(即 \ \)。

注:正则表达式字面量始终会共享同一个RegExp实例,而使用构造函数来创建的每一个新RegExp实例都是一个新实例

此处不明白什么意思??????

RegExp实例属性:(通过这些属性可以取得有关模式的各种信息,但却没有多大用处,因为这些信息全都包含在模式声明中)

source属性保存的是规范形式的字符串,即字面量形式所用的字符串。
source属性保存的是规范形式的字符串,即字面量形式所用的字符串

RegExp实例方法:exec() 和 test()

exec()方法专门为捕获组而设计,其包含两个额外的属性:indexinput

index表示匹配项在字符串中的位置

input表示应用正则表达式的字符串(在捕获返回的数组中,第一项是与整个模式匹配的字符串,其他项是与模式中的捕获组匹配的字符串(如果模式中没有捕获组,则该数组只包含一项,详见下面图红框框部分))


加g与不加g的区别

test()接受一个字符串参数。在模式与该参数匹配的情况下返回true;否则,返回false。

RegExp实例继承toLocalString()和toString()方法

以字面量形式创建的一样显示器字符串表示

RegExp构造函数属性:

使用长属性名
使用短属性名(由于这些短属性名大豆不是有效的ECMAScript标识符,因此必须通过方括号语法来访问它们)


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容