最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
正则表达式练习器
时间:2022-06-30 10:52:16 编辑:袖梨 来源:一聚教程网
正则表达式的用途很广泛,但要熟练掌握就不是一件容易的事情了。为此,我编写了这个练习器用来帮助学习。
请多指教!
*********将以下代码复制到 RegExp.htm 即可 **********
>
正则表达式练习器
T LANGUAGE="JavaScript1.2">
var re = new RegExp() //建立正则表达式对象
var nextpoint = 0 //匹配时的偏移量
//设置正则表达式
function setPattern(form) {
var mode
if(form.chkmode.checked) mode = "gi" //i:不分大小写 g:全局,好象没什么作用
else mode = "g"
re.compile(form.regexp.value,mode)
nextpoint = 0
form.reglist.value = ""
}
//检查是否有匹配
function findIt(form) {
setPattern(form)
var input = form.main.value
if (input.search(re) != -1) {
form.output[0].checked = true
} else {
form.output[1].checked = true
}
}
//检查匹配位置
function locateIt(form) {
setPattern(form)
var input = form.main.value
form.offset.value = input.search(re)
}
//检查所有的匹配情况
function execIt(form) {
if(nextpoint == 0 || ! form.scankmode.checked) {
findIt(form)
form.reglist.value = ""
}
var key = true
if(form.scankmode.checked) key = false
do {
var input = form.main.value
var matchArray = re.exec(input.substr(nextpoint))
if(matchArray) {
for(var i=1;i matchArray[i] = "$"+i+":"+matchArray[i]
form.reglist.value = (nextpoint+matchArray.index)+" => " + matchArray[0] +" "+form.reglist.value
请多指教!
*********将以下代码复制到 RegExp.htm 即可 **********
>
var re = new RegExp() //建立正则表达式对象
var nextpoint = 0 //匹配时的偏移量
//设置正则表达式
function setPattern(form) {
var mode
if(form.chkmode.checked) mode = "gi" //i:不分大小写 g:全局,好象没什么作用
else mode = "g"
re.compile(form.regexp.value,mode)
nextpoint = 0
form.reglist.value = ""
}
//检查是否有匹配
function findIt(form) {
setPattern(form)
var input = form.main.value
if (input.search(re) != -1) {
form.output[0].checked = true
} else {
form.output[1].checked = true
}
}
//检查匹配位置
function locateIt(form) {
setPattern(form)
var input = form.main.value
form.offset.value = input.search(re)
}
//检查所有的匹配情况
function execIt(form) {
if(nextpoint == 0 || ! form.scankmode.checked) {
findIt(form)
form.reglist.value = ""
}
var key = true
if(form.scankmode.checked) key = false
do {
var input = form.main.value
var matchArray = re.exec(input.substr(nextpoint))
if(matchArray) {
for(var i=1;i
form.reglist.value = (nextpoint+matchArray.index)+" => " + matchArray[0] +" "+form.reglist.value