正则表达式二属性

    技术2022-05-11  58

    当表达式被检查的时候,文字符号提供了编辑正则表达式的方法。利用文字符号可以使到正则表达式保持为常数。例如,如果你在一个循环中使用文字符号来构造一个正则表达式,正则表达式不需进行反复编译。正则表达式对象构造器,例如,new RegExp("ab+c"),提供正则表达式的运行时编译。当你知道正则表达式的模式会变化的时候,应该使用构造函数,或者你不知道正则表达式的模式,而它们是从另外的源获得的时候,比如由用户输入时。一旦你定义好了正则表达式,该正则表达式可在任何地方使用,并且可以改变,你可以使用编译方法来编译一个新的正则表达式以便重新使用。一个分离预先定义的RegExp对象可以在每个窗口中使用;也就是说,每个分离的JavaScript线程运行以获得自己的RegExp对象。因为每个脚本在一个线程中是不可中断的,这就确保了不同的脚本不会覆盖RegExp对象的值。预定义的RegExp对象包含的静态属性:input, multiline, lastMatch,lastParen, leftContext, rightContext, 以及从$1到$9。input和multiline属性能被预设。其它静态属性的值是在执行个别正则表达式对象的exec和test方法后,且在执行字符串的match和replace方法后设置的。

    属性注意RegExp对象的几个属性既有长名字又有短名字(象Perl)。这些名字都是指向相同的值。Perl是一种编程语言,而JavaScript模仿了它的正则表达式。

    属性$1, ..., $9取得匹配的子串,如果有的话

    属性$_参考input

    属性$*参考multiline

    属性$&参考lastMatch

    属性$+参考lastParen

    属性$`参考leftContext

    属性$'参考rightContext

    属性constructor指定用来建立对象原型函

    属性global决定是否测试正则表达式是否不能匹配所有的字符串,或者只是与最先的冲突。

    属性ignoreCase决定试图匹配字符串的时候是否忽略大小写

    属性input当正则表达式被匹配的时候,为相反的字符串。

    属性lastIndex决定下一次匹配从那里开始

    属性lastMatch最后一个匹配的字符

    属性lastParen子串匹配的时候,最后一个parenthesized,如果有的话。

    属性leftContext最近一次匹配前的子串。

    属性multiline是否在串的多行中搜索。

    属性prototype允许附加属性到所有的对象

    属性rightContext最近一次匹配后的的子串。

    属性source模式文本


    最新回复(0)