JScript中正则表达函数的说明与应用

作者:袖梨 2022-06-30
作为模式匹配下文本替换、搜索、提取的强有力工具,正则表达式(Regular Expression)的应用已经从unix平台逐渐渗入到网络开发中了,作为服务器端/客户端的脚本开发语言JScript,正越来越多将正则表达式应用融入其中,以弥补自身在文本上处理能力的不足。在此,我们以JScript5.5版本为例,对其中的正则表达式的应用作一个概述。
首先我们需要区分JScript中关于正则表达式的两个对象:Regular Expression对象和RegExp对象。
前者仅包含一个特定的正则表达式实例的信息,而后者通过一个全局变量的属性来反映最近模式匹配的特性。
前者在匹配前需要指定匹配模式,即创建一个Regular Expression对象的实例,而后可以把它传递给一个字符串方法,或是把一个字符串作为参数传递给这个Regular Expression实例的方法;而后者无需创建,它是一个固有的全局对象,每次成功匹配操作结果信息被保存在这个对象的属性中。
一、RegExp对象的属性:反应最近一次成功匹配的结果信息
input :保存执行匹配的字符串(被搜索的目标字符串)(>=IE4)
index :保存匹配的首字符的位置*>=IE4)
lastIndex :保存匹配的字符串的下一个字符的位置(>=IE4)
lastMatch($&) :保存匹配到的字符串(>=IE5.5)
lastParen($+) :保存匹配结果最后一个子匹配的内容(最后一个括号的匹配内容)(>=IE5.5)
leftContext($`) :保存目标字符串中匹配子字符串前的所有字符 (>=IE5.5)
rightContext($'):保存目标字符串中匹配子字符串后的所有字符 (>=IE5.5)
$1 - $9 :保存匹配中最开始的9个子匹配(即最开始的9个括号内的匹配结果)(>=IE4)
二、Regular Expression对象简介
1.Regular Expression对象定义
在脚本中使用正则表达式模式匹配,首先腰设定匹配模式,方法有如下两种
(1)rgExp=/pattern*/[flags*]
(2)rgExp=new RegExp("pattern",["flags"])
注意:
a.后者模式中的转义字符“”需要用“”表示,用以抵消JS中转义字符""的意义,否则JS首先作为自己的转义概念来解释""后的字符。
b.flags标识有以下几个(至JScript 5.5版本)
g:设定当前匹配为全局模式
i:忽略匹配中的大小写检测
m:多行搜索模式
2.Regular Expression对象属性
(1)rgExp.lastIndex:匹配结果后面一个字符的位置,同RegExp.lastIndex

相关文章

精彩推荐