国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > Regex > 正文

正則表達(dá)式練習(xí)器

2020-03-16 21:24:25
字體:
供稿:網(wǎng)友
正則表達(dá)式練習(xí)器,代碼如下:

  1. <HTML> 
  2. <HEAD> 
  3. <TITLE>正則表達(dá)式練習(xí)器</TITLE> 
  4. <meta name = 安徽 池州 統(tǒng)計(jì)局 徐祖寧 e-mail:czjsz@stats.gov.cn> 
  5. <script language="JavaScript"> 
  6. function OnMove() { 
  7. window.status = "("+window.event.clientX+","+window.event.clientY+")" + " :: "+document.location 
  8. </script> 
  9. <SCRIPT LANGUAGE="JavaScript1.2"> 
  10. var re = new RegExp() //建立正則表達(dá)式對(duì)象 
  11. var nextpoint = 0 //匹配時(shí)的偏移量 
  12. //設(shè)置正則表達(dá)式 
  13. function setPattern(form) { 
  14. var mode 
  15. if(form.chkmode.checked) mode = "gi" //i:不分大小寫 g:全局,好象沒什么作用 
  16. else mode = "g" 
  17. re.compile(form.regexp.value,mode) 
  18. nextpoint = 0 
  19. form.reglist.value = "" 
  20. //檢查是否有匹配 
  21. function findIt(form) { 
  22. setPattern(form) 
  23. var input = form.main.value 
  24. if (input.search(re) != -1) { 
  25. form.output[0].checked = true  
  26. } else { 
  27. form.output[1].checked = true  
  28. //檢查匹配位置 
  29. function locateIt(form) { 
  30. setPattern(form) 
  31. var input = form.main.value 
  32. form.offset.value = input.search(re) 
  33. //檢查所有的匹配情況 
  34. function execIt(form) { 
  35. if(nextpoint == 0 || ! form.scankmode.checked) { 
  36. findIt(form) 
  37. form.reglist.value = "" 
  38. var key = true 
  39. if(form.scankmode.checked) key = false 
  40. do { 
  41. var input = form.main.value 
  42. var matchArray = re.exec(input.substr(nextpoint)) 
  43. if(matchArray) { 
  44. for(var i=1;i<matchArray.length;i++) 
  45. matchArray[i] = "$"+i+":"+matchArray[i] 
  46. form.reglist.value = (nextpoint+matchArray.index)+" => " + matchArray[0] +"/n"+form.reglist.value 
  47. form.matchlist.value = "$0:"+matchArray.join("/n") 
  48. nextpointnextpoint = nextpoint + matchArray.index + matchArray[0].length 
  49. }else { 
  50. if(!key) 
  51. form.reglist.value = "沒有找到/n" + form.reglist.value  
  52. form.matchlist.value = " " 
  53. nextpoint = 0 
  54. key = false 
  55. }while (key) 
  56. //設(shè)置當(dāng)前使用的正則表達(dá)式 
  57. function setregexp(n) { 
  58. var s = document.all.regexplist.value.split("/r/n") 
  59. document.all.regexp.value = s[n*2-1] //.replace("/r","") 
  60. nextpoint = 0 
  61. //定義選擇監(jiān)視 
  62. var isNav = (navigator.appName == "Netscape") 
  63. function showSelection() { 
  64. if (isNav) { 
  65. var theText = document.getSelection() 
  66. } else { 
  67. var theText = document.selection.createRange().text 
  68. if(theText.length>0 && document.all.selechkmode.checked) 
  69. document.all.regexp.value = theText 
  70. if (isNav) { 
  71. document.captureEvents(Event.MOUSEUP) 
  72. document.onmouseup = showSelection 
  73. </SCRIPT> 
  74. </HEAD> 
  75. <BODY style="font-size=9pt;" OnMouseMove=OnMove()> 
  76. <FORM><table width=100cellspacing=0 cellpadding=0><tr><td><font color=red>正規(guī)表達(dá)式練習(xí)器</font></td><td align=right><a href=mailto:czjsz_ah@stats.gov.cn>czjsz_ah@stats.gov.cn</a></td></tr></table> 
  77. <table width=100broder=1 frame=above rules=none style="font-size:9pt;"> 
  78. <tr><td width=50valign=top> 
  79. 輸入一些被尋找的正文:<BR> 
  80. <TEXTAREA NAME="main" COLS=58 ROWS=5 WRAP="virtual" style="font-size:9pt;"> 
  81. 09-11-2001 09/11/2001 czjsz_ah@stats.gov.cn 
  82. 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 
  83. </TEXTAREA><BR> 
  84. 進(jìn)行匹配的正規(guī)表達(dá)式:  忽略大小寫<INPUT TYPE="checkbox" NAME="chkmode" checked style="font-size:8pt;height:18px"><BR> 
  85. <TEXTAREA NAME="regexp" COLS=51 ROWS=5 style="font-size:9pt;"></TEXTAREA> 
  86. <INPUT TYPE="button" VALUE="清除" onClick="this.form.regexp.value=''" style="font-size:8pt;height:18px"><BR> 
  87. <INPUT TYPE="button" VALUE="能找到嗎?[regexObject.test(string)]" style="font-size:8pt;width:70%;height:18px" onClick="findIt(this.form)"> 
  88. <INPUT TYPE="radio" NAME="output" style="font-size:8pt;height:18px">Yes 
  89. <INPUT TYPE="radio" NAME="output" style="font-size:8pt;height:18px">No <BR> 
  90. <INPUT TYPE="button" VALUE="在哪里?[string.search(regexObject)]" style="font-size:8pt;width:70%;height:18px" onClick="locateIt(this.form)"> 
  91. <INPUT TYPE="text" NAME="offset" SIZE=4 style="font-size:8pt;height:18px"> 
  92. </td> 
  93. <td valign=top> 
  94. 測(cè)試用正則表達(dá)式列表:  
  95. 使用第<input type=text name=num size=2 value=1 style="font-size:8pt;height:18px">個(gè)<input type=button value=Go onClick=setregexp(this.form.num.value) style="font-size:8pt;height:18px"> 
  96.     允許復(fù)制<INPUT TYPE="checkbox" NAME="selechkmode" style="font-size:8pt;height:18px"> 
  97. <textarea NAME="regexplist" cols=58 rows=14 wrap=off style="font-size:9pt;"> 
  98. 1.檢查日期: 
  99. (1[0-2]|0?[1-9])[-./](0?[1-9]|[12][0-9]|3[01])[-./](/d/d/d/d)) 
  100. 2.檢查數(shù)字: 
  101. ([-+]?[0-9]+/.?[0-9]+) 
  102. 3.檢查URL: 
  103. ((http|ftp)://)?(((([/d]+/.)+){3}[/d]+(/[/w./]+)?)|([a-z]/w*((/./w+)+){2,})([/][/w.~]*)*) 
  104. 4.檢查E-mail 
  105. /w+@((/w+[.]?)+) 
  106. </textarea> 
  107. </td></tr> 
  108. <tr><td valign=bottom> 
  109. <INPUT TYPE="button" VALUE="有哪些?[regexObject.exec(string)]" style="font-size:8pt;width:70%;height:18px" onClick="execIt(this.form)"> 
  110.   單步<INPUT TYPE="checkbox" NAME="scankmode" style="font-size:8pt;height:18px"><BR> 
  111. <TEXTAREA NAME="reglist" COLS=58 ROWS=8 style="font-size:9pt;"></TEXTAREA> 
  112. </td> 
  113. <td valign=bottom> 
  114. 匹配到的成分:(單步時(shí)可見) 
  115. <TEXTAREA NAME="matchlist" COLS=58 ROWS=8 style="font-size:9pt;"></TEXTAREA> 
  116. </td></tr></table></FORM> 
  117. <script> 
  118. setregexp(1) 
  119. </script> 
  120. </BODY> 
  121. </HTML> 
  122.  
  123. 對(duì)正則表達(dá)式練習(xí)器的改進(jìn),原貼ID901680 
  124. 覆蓋原execIt函數(shù) 
  125. 修改后的execIt函數(shù)允許對(duì)多個(gè)正則表達(dá)式進(jìn)行匹配(每個(gè)正則表達(dá)式一行),并對(duì)每一個(gè)匹配成分顯示出是第幾個(gè)正則表達(dá)式匹配的。 
  126. 這可視為語法分析的雛形,只要對(duì)匹配產(chǎn)生相應(yīng)的動(dòng)作。 
  127. function execIt(form) { 
  128. var mode 
  129. if(form.chkmode.checked) mode = "gi" 
  130. else mode = "g" 
  131. var regexpArray = form.regexp.value.split("/r/n") //獲取正則表達(dá)式到數(shù)組 
  132. if(nextpoint == 0) form.reglist.value = "" 
  133. var key = true 
  134. if(form.scankmode.checked) key = false 
  135. else nextpoint = 0 
  136. do { 
  137. var offs = 9999999999 
  138. var pos = -1 
  139. var input = form.main.value.substr(nextpoint) 
  140. //對(duì)每個(gè)正則表達(dá)式進(jìn)行匹配 
  141. for(var i=0;i<regexpArray.length;i++) { 
  142. re.compile(regexpArray[i],mode) 
  143. var matchArray = re.exec(input) 
  144. if(matchArray) { 
  145. if(offs > matchArray.index) { 
  146. offs = matchArray.index 
  147. pos = i //保存距離起始位子最近的匹配 
  148. if(pos>=0) { 
  149. re.compile(regexpArray[pos],mode) 
  150. var matchArray = re.exec(input) 
  151. for(var i=1;i<matchArray.length;i++) 
  152. matchArray[i] = "$"+i+":"+matchArray[i] 
  153. form.reglist.value = "["+(pos+1)+"]"+(nextpoint+matchArray.index)+" => " + matchArray[0] +"/n"+form.reglist.value 
  154. form.matchlist.value = "$0:"+matchArray.join("/n") 
  155. nextpointnextpoint = nextpoint + matchArray.index + matchArray[0].length 
  156. }else { 
  157. if(!key) 
  158. form.reglist.value = "沒有找到/n" + form.reglist.value  
  159. form.matchlist.value = " " 
  160. nextpoint = 0 
  161. key = false 
  162. }while(key) 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
最好看更新中文字幕| 97一区二区三区| 在线免费国产| 国产黄在线看| 国产三级自拍| 精品一二三四| 99综合精品久久| 夜夜操com| 麻豆av电影在线观看| 天天插天天色| 免费看黄视频网站| 中文字幕在线第一页| 国产精品欧美色图| 亚洲人av在线| 国产有码在线| 国产精品美女一区二区视频| 国产黄网站在线观看| 在线国产中文字幕| 狠狠狠综合7777久夜色撩人| 国产精品一区二区三区高清在线| 国产系列在线观看| 日本不卡1区2区3区| 国产秀色在线www免费观看| 怡红院av在线| 国产美女在线一区二区三区| 国产天堂在线| 久久精品国产麻豆| 国产精品伦一区二区三区视频| 亚洲高清在线免费| 国产精品久久久久久久牛牛 | 免费观看久久久久| 国产一级黄色| 欧美精品se| 伊人网在线免费观看| 国产免费一级| 天天噜天天色| 在线天堂视频| 国产精品不卡一区二区三区在线观看| www.中文字幕久久久| 99久久99热久久精品免费看| 天堂资源在线中文| 国产在线拍揄自揄拍视频| 在线一二三区| 一本久中文高清| 国产大学生粉嫩无套流白浆| 成人免费一区二区三区牛牛| 天天操夜夜做| 久草亚洲一区| 激情亚洲综合网| 欧美艹逼视频| 日本中文字幕在线播放| 国内精品免费一区二区三区| 欧美午夜电影一区二区三区| 日本不卡影院| 国产美女在线播放| 午夜伦全在线观看| 51成人精品网站| 日本在线观看网站| 狠狠操视频网| 国产卡1卡2卡三卡在线| 国产美女在线一区二区三区| 最近中文字幕大全中文字幕免费| 99视频免费在线观看| 国产精品9区| 一本大道五月香蕉| 午夜在线视频播放| 超碰免费在线| 国产福利免费在线观看| 亚洲最新永久在线观看| 高清色视频在线观看| 91精品大全| 免费精品国产自产拍在| 国产三级免费观看| 日本欧洲一区| 国产网站av| 欧美日韩亚洲国内综合网| 天天av天天爽| av网站大全在线观看| 国产免费视频| 在线久久视频| 国产黄色一级电影| 国产永久免费高清在线观看视频| 精品电影在线| 国产网站麻豆精品视频| 亚洲videos| 91久久麻豆| 中文字幕在线看精品乱码| 亚洲欧美小说国产图片| 中文字幕成人乱码在线电影| 在线观看免费观看在线91| 超碰免费在线| 亚洲伊人网在线观看| 国产网站av| 黄色av网站在线免费观看| eeuss影院www在线观看| 国产精品久久久精品a级小说| 国产免费黄色| 国产精品一区牛牛影视| 久久精品蜜桃| 任你操在线观看| www中文字幕在线观看| 在线影视一区| 亚洲第一页在线播放| 91在线看片| 国产91在线视频蝌蚪| 国产美女一区视频| 国产女王在线**视频 | 92国产在线视频| 超碰97在线免费观看| 在线观看的av| 四虎免费播放| 欧美色欧美亚洲另类二区精品 | 日韩在线天堂| 爱福利在线视频| a视频在线播放| 天天插天天狠天天透| www.三区| 最近免费中文字幕在线第一页| 中文字幕在线免费| 国产激情99| 精品av中文字幕在线毛片| 一级二级在线观看| 国产精品偷乱一区二区三区| 午夜视频在线免费| 国产二区三区在线| 亚洲v片在线观看| 美女av在线播放| 国产高清一区二区三区视频| 在线欧美一级视频| 超碰在线观看免费版| 国产激情自拍| 欧美精品se| 国产超碰精品在线观看| 亚洲成人av在线影院| 国产在线一二三区| 国产小视频免费在线观看| 国产高清自拍视频在线观看| 日本欧美在线视频免费观看| 国产永久免费高清在线观看| 国产福利免费观看| 黄色三级视频在线观看| 国产精品你懂的在线观看| av男人的天堂网| 国产精品久久久久一区二区国产| 欧美aaa一级片| 中文天堂av| 国产丝袜视频在线播放| 久久国产精品黑丝| 亚洲videos| av在线资源网| 依依成人在线| 91在线最新| 国产黄色免费电影| 国产偷激情在线| 国产特黄在线| 国产精品xxx电影| 国产福利一区二区在线精品| 国产精品一区二区三区四区色| 久热精品免费视频| 亚洲日本伊人| av高清在线| 在线观看精品一区二区三区| 国产高清在线观看| 国产二区三区在线| 国产黄色高清在线| 国产对白在线| 国产无遮挡又黄又爽免费软件| 免费在线播放av| 欧美精品日韩少妇| 狠狠色综合久久婷婷| 中文字幕在线看精品乱码| 九九热在线免费视频| 九色成人在线| 国产人成网在线播放va免费| 中中文字幕av在线| 国产人成在线观看| 国产高清自拍视频在线观看| 精品推荐蜜桃传媒| av中文在线| 黄色片视频在线观看| 国产污污在线观看| 91av福利| 黄网址在线永久免费观看| 国产麻豆麻豆| 中文字幕在线影院| 国产成人午夜精品| 四虎一区二区三区| 国产亚洲精品久久久久久青梅 | 国产超碰在线| 一区二区三区四区在线免费视频| 亚洲视频精品在线观看| 国产在线观看色| 国产视频1区| 国产高清av| 毛片在线视频| 国产激情三区| 九色视频网站| 精品99又大又爽又硬少妇毛片 | 麻豆网站在线| 国产青青视频|