请看下例: <SCRIPT LANGUAGE="JavaScript1.2"> //匹配一个b接着一个或多个d,再接着一个b
//忽略大小写 myRe=/d(b)(d)/ig; myArray = myRe.exec("cdbBdbsbz");
</SCRIPT> 下面是该脚本的返回:对象 属性/Index 描述 例子
myArray
myArray的内容 ["dbBd", "bB", "d"]
index
基于0的匹配index 1
input
原始字符串 cdbBdbsbz
[0]
最后匹配的字符 dbBd
[1], ...[n]
用圆括号括住的匹配字符串,如果有的话。不限制括号的个数。 [1] = bB
[2] = d
myRe
lastIndex
开始下次匹配操作的index 5
ignoreCase
指出"i"是否使用以忽略大小写 true
global
指出是否使用"g"标记来进行匹配所有可能的字串 true
source
定义模式的文本字符串 d(b)(d)
RegExp
lastMatch$&
最后匹配的字符 dbBd
leftContext$\Q
最新匹配前面的子串 c
rightContext$'
最新匹配后面的子串 bsbz
$1, ...$9
圆括号内的匹配子串,如果有的话。圆括号的个数不受限制,但RegExp只能保留最后9个 $1 = bB
$2 = d
lastParen $
最后一个加上圆括号的匹配子串,如果有的话 d
假如你的正则表达式使用了"g"标记,你可以多次使用exec 方法来连续匹配相同的串。当你这样做的时候,新的匹配将从由正则表达式的lastIndex 属性确定的子串中开始。例如,假定你使用下面的脚本:
<SCRIPT LANGUAGE="JavaScript1.2"> myRe=/ab*/g;str = "abbcdefabh"
myArray = myRe.exec(str);
document.writeln("Found "myArray[0]". Next match starts at "myRe.lastIndex)
mySecondArray = myRe.exec(str);
document.writeln("Found "mySecondArray[0]". Next match starts at "myRe.lastIndex)
</SCRIPT>
这个脚本显示如下结果: Found abb. Next match starts at 3
Found ab. Next match starts at 9 例子:
在下面的例子中,用户输入一个名字,脚本根据输入执行匹配操作。接着检查数组看是否和其它用户的名字匹配。
本脚本假定已注册的用户的姓已经存进了数组A中,或许从一个中取得。
<HTML>
<SCRIPT LANGUAGE="JavaScript1.2"> A = ["zhao","qian","sun","li","liang"]
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-32123-14.html
望月怀远
是对我们暗示什么
轰一炮会怎样呢