亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > regex > 正文

正則表達式練習器

2020-01-20 22:31:20
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

<HTML>
<HEAD>
<TITLE>正則表達式練習器</TITLE>
<meta name = 安徽 池州 統計局 徐祖寧 e-mail:czjsz@stats.gov.cn>
<script language="JavaScript">
function OnMove() {
window.status = "("+window.event.clientX+","+window.event.clientY+")" + " :: "+document.location
}
</script>

<SCRIPT 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.length;i++)
matchArray[i] = "$"+i+":"+matchArray[i]
form.reglist.value = (nextpoint+matchArray.index)+" => " + matchArray[0] +"/n"+form.reglist.value
form.matchlist.value = "$0:"+matchArray.join("/n")
nextpoint = nextpoint + matchArray.index + matchArray[0].length
}else {
if(!key)
form.reglist.value = "沒有找到/n" + form.reglist.value
form.matchlist.value = " "
nextpoint = 0
key = false
}
}while (key)
}
//設置當前使用的正則表達式
function setregexp(n) {
var s = document.all.regexplist.value.split("/r/n")
document.all.regexp.value = s[n*2-1] //.replace("/r","")
nextpoint = 0
}

//定義選擇監視
var isNav = (navigator.appName == "Netscape")
function showSelection() {
if (isNav) {
var theText = document.getSelection()
} else {
var theText = document.selection.createRange().text
}
if(theText.length>0 && document.all.selechkmode.checked)
document.all.regexp.value = theText
}
if (isNav) {
document.captureEvents(Event.MOUSEUP)
}
document.onmouseup = showSelection
</SCRIPT>

</HEAD>
<BODY style="font-size=9pt;" OnMouseMove=OnMove()>
<FORM><table width=100% cellspacing=0 cellpadding=0><tr><td><font color=red>正規表達式練習器</font></td><td align=right><a href=mailto:czjsz_ah@stats.gov.cn>czjsz_ah@stats.gov.cn</a></td></tr></table>
<table width=100% broder=1 frame=above rules=none style="font-size:9pt;">
<tr><td width=50% valign=top>
輸入一些被尋找的正文:<BR>
<TEXTAREA NAME="main" COLS=58 ROWS=5 WRAP="virtual" style="font-size:9pt;">
09-11-2001 09/11/2001 czjsz_ah@stats.gov.cn
asdff 12345 196.168.1.3 www.sohu.com ftp://www.chinaasp.com 2001.9.11 http://www.active.com.cn/club/bbs/bbsView.asp http://www.163.com/inden.htm
</TEXTAREA><BR>
進行匹配的正規表達式:  忽略大小寫<INPUT TYPE="checkbox" NAME="chkmode" checked style="font-size:8pt;height:18px"><BR>
<TEXTAREA NAME="regexp" COLS=51 ROWS=5 style="font-size:9pt;"></TEXTAREA>
<INPUT TYPE="button" VALUE="清除" onClick="this.form.regexp.value=''" style="font-size:8pt;height:18px"><BR>
<INPUT TYPE="button" VALUE="能找到嗎?[regexObject.test(string)]" style="font-size:8pt;width:70%;height:18px" onClick="findIt(this.form)">
<INPUT TYPE="radio" NAME="output" style="font-size:8pt;height:18px">Yes
<INPUT TYPE="radio" NAME="output" style="font-size:8pt;height:18px">No <BR>
<INPUT TYPE="button" VALUE="在哪里?[string.search(regexObject)]" style="font-size:8pt;width:70%;height:18px" onClick="locateIt(this.form)">
<INPUT TYPE="text" NAME="offset" SIZE=4 style="font-size:8pt;height:18px">
</td>
<td valign=top>
測試用正則表達式列表: 
使用第<input type=text name=num size=2 value=1 style="font-size:8pt;height:18px">個<input type=button value=Go onClick=setregexp(this.form.num.value) style="font-size:8pt;height:18px">
    允許復制<INPUT TYPE="checkbox" NAME="selechkmode" style="font-size:8pt;height:18px">
<textarea NAME="regexplist" cols=58 rows=14 wrap=off style="font-size:9pt;">
1.檢查日期:
(1[0-2]|0?[1-9])[-./](0?[1-9]|[12][0-9]|3[01])[-./](/d/d/d/d))
2.檢查數字:
([-+]?[0-9]+/.?[0-9]+)
3.檢查URL:
((http|ftp)://)?(((([/d]+/.)+){3}[/d]+(/[/w./]+)?)|([a-z]/w*((/./w+)+){2,})([/][/w.~]*)*)
4.檢查E-mail
/w+@((/w+[.]?)+)
</textarea>
</td></tr>
<tr><td valign=bottom>
<INPUT TYPE="button" VALUE="有哪些?[regexObject.exec(string)]" style="font-size:8pt;width:70%;height:18px" onClick="execIt(this.form)">
  單步<INPUT TYPE="checkbox" NAME="scankmode" style="font-size:8pt;height:18px"><BR>
<TEXTAREA NAME="reglist" COLS=58 ROWS=8 style="font-size:9pt;"></TEXTAREA>
</td>
<td valign=bottom>
匹配到的成分:(單步時可見)
<TEXTAREA NAME="matchlist" COLS=58 ROWS=8 style="font-size:9pt;"></TEXTAREA>
</td></tr></table></FORM>
<script>
setregexp(1)
</script>
</BODY>
</HTML>


對正則表達式練習器的改進,原貼ID901680

覆蓋原execIt函數
修改后的execIt函數允許對多個正則表達式進行匹配(每個正則表達式一行),并對每一個匹配成分顯示出是第幾個正則表達式匹配的。
這可視為語法分析的雛形,只要對匹配產生相應的動作。

function execIt(form) {
var mode
if(form.chkmode.checked) mode = "gi"
else mode = "g"
var regexpArray = form.regexp.value.split("/r/n") //獲取正則表達式到數組

if(nextpoint == 0) form.reglist.value = ""
var key = true
if(form.scankmode.checked) key = false
else nextpoint = 0
do {
var offs = 9999999999
var pos = -1
var input = form.main.value.substr(nextpoint)
//對每個正則表達式進行匹配
for(var i=0;i<regexpArray.length;i++) {
re.compile(regexpArray[i],mode)
var matchArray = re.exec(input)
if(matchArray) {
if(offs > matchArray.index) {
offs = matchArray.index
pos = i //保存距離起始位子最近的匹配
}
}
}
if(pos>=0) {
re.compile(regexpArray[pos],mode)
var matchArray = re.exec(input)
for(var i=1;i<matchArray.length;i++)
matchArray[i] = "$"+i+":"+matchArray[i]
form.reglist.value = "["+(pos+1)+"]"+(nextpoint+matchArray.index)+" => " + matchArray[0] +"/n"+form.reglist.value
form.matchlist.value = "$0:"+matchArray.join("/n")
nextpoint = nextpoint + matchArray.index + matchArray[0].length
}else {
if(!key)
form.reglist.value = "沒有找到/n" + form.reglist.value
form.matchlist.value = " "
nextpoint = 0
key = false
}
}while(key)
}

上一篇:ubbcode簡單實用

下一篇:17種正則表達式

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩女优人人人人射在线视频| 久久频这里精品99香蕉| 中文日韩电影网站| 精品国产91久久久久久| 懂色av影视一区二区三区| 亚洲在线一区二区| 国产精品美女呻吟| 国产色视频一区| 欧美孕妇与黑人孕交| 欧美一级成年大片在线观看| 久久91亚洲人成电影网站| 2019中文在线观看| 伊人男人综合视频网| 狠狠躁天天躁日日躁欧美| 日韩高清a**址| 国产精品综合久久久| 91精品视频一区| 亚洲日本成人女熟在线观看| 中文字幕久久亚洲| 精品日韩中文字幕| 91免费电影网站| 欧美激情手机在线视频| 4k岛国日韩精品**专区| 精品二区三区线观看| 国产91精品网站| 欧美高清视频一区二区| 亚洲一二三在线| 4p变态网欧美系列| 91免费人成网站在线观看18| 最近2019中文免费高清视频观看www99| 欧美在线视频免费观看| 国产精品丝袜视频| 中文字幕亚洲无线码a| 高清欧美性猛交| 国外成人在线直播| 日韩一区二区福利| 日韩av影视综合网| 久久久久久网站| 国产一区二区三区直播精品电影| 亚洲最大激情中文字幕| 欧美最近摘花xxxx摘花| 国产女精品视频网站免费| 九九久久综合网站| 在线性视频日韩欧美| 91国内产香蕉| 97久久精品视频| 久久69精品久久久久久久电影好| 在线播放日韩专区| 91精品国产91久久久久福利| 日韩美女在线观看| 91久久国产精品91久久性色| 国产乱人伦真实精品视频| 26uuu亚洲国产精品| 色偷偷av一区二区三区乱| 亚洲黄页视频免费观看| 久久久久久久久综合| 久久久久久久激情视频| 777午夜精品福利在线观看| 成年无码av片在线| 午夜精品久久久久久久99热| 亚洲2020天天堂在线观看| 成人黄色短视频在线观看| 亚洲xxxxx| 亚洲国产精品字幕| 欧洲午夜精品久久久| 欧美中文在线观看国产| 亚洲大尺度美女在线| 亚洲日本欧美中文幕| 久久久99免费视频| 亚洲视频在线视频| 国产极品jizzhd欧美| 国产在线视频欧美| 91在线直播亚洲| 中文字幕亚洲综合久久| 亚洲精品久久视频| 久久久久久久电影一区| 97国产精品久久| 亚洲色图日韩av| 在线成人一区二区| 深夜精品寂寞黄网站在线观看| 亚洲欧洲av一区二区| 欧美成在线视频| 97国产真实伦对白精彩视频8| 精品久久久久久久久久久久久久| 日韩欧美国产成人| 伊人亚洲福利一区二区三区| 国产午夜精品一区二区三区| 一区二区三区高清国产| 亚洲精品白浆高清久久久久久| 国产亚洲精品久久久久久| 日本高清不卡的在线| 91免费视频网站| 欧美自拍视频在线观看| 亚洲成色999久久网站| 亚洲精品99久久久久| 欧美性视频网站| 欧美在线影院在线视频| 日韩精品欧美国产精品忘忧草| 日韩欧美在线免费观看| 一道本无吗dⅴd在线播放一区| 日本久久精品视频| 在线看国产精品| 日韩av在线精品| 久久99久久久久久久噜噜| 中文字幕欧美在线| 日韩av一卡二卡| 亚洲国产精品一区二区三区| 亚洲欧美综合区自拍另类| 色天天综合狠狠色| 欧美日韩视频在线| 欧美一级片一区| 日韩精品极品毛片系列视频| 国产成人小视频在线观看| 欧美另类99xxxxx| 国产精品偷伦视频免费观看国产| 亚洲欧美中文在线视频| 最近中文字幕mv在线一区二区三区四区| 欧美一区二区三区四区在线| 欧美日韩激情网| 国产999在线观看| 亚洲精品ady| 最新国产精品拍自在线播放| 91av在线免费观看| 国产成人啪精品视频免费网| 中文字幕亚洲一区| 亚洲人高潮女人毛茸茸| 日本国产精品视频| 欧美性理论片在线观看片免费| 亚洲香蕉在线观看| 国产精品国产三级国产aⅴ浪潮| 久久影院模特热| 日本成人精品在线| 亚洲人成在线观看网站高清| 大伊人狠狠躁夜夜躁av一区| 国产精品久久色| 久久综合亚洲社区| 亚洲一区www| 97精品国产97久久久久久春色| 久久九九国产精品怡红院| 久久艹在线视频| 精品日本美女福利在线观看| 91av在线不卡| 一区二区欧美激情| 欧美日韩成人在线观看| 欧美精品制服第一页| 亚洲成人网在线观看| 在线丨暗呦小u女国产精品| 国产成人精品a视频一区www| 91精品国产高清久久久久久久久| 久久久久女教师免费一区| 日韩精品免费综合视频在线播放| 久久精品91久久久久久再现| 日韩精品中文字幕在线播放| 精品亚洲一区二区三区在线观看| 激情亚洲一区二区三区四区| 国产成人精品久久| 91久久在线播放| 在线性视频日韩欧美| 成人黄色大片在线免费观看| 国产欧美日韩精品专区| 国产精品久久久久久久久久99| 在线免费观看羞羞视频一区二区| 777777777亚洲妇女| 精品亚洲精品福利线在观看|