久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

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

      復(fù)制代碼 代碼如下:

      <HTML>
      <HEAD>
      <TITLE>正則表達式練習(xí)器</TITLE>
      <meta name = 安徽 池州 統(tǒng)計局 徐祖寧 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 //匹配時的偏移量
      //設(shè)置正則表達式
      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)
      }
      //設(shè)置當前使用的正則表達式
      function setregexp(n) {
      var s = document.all.regexplist.value.split(“rn”)
      document.all.regexp.value = s[n*2-1] //.replace(“r”,””)
      nextpoint = 0
      }

      //定義選擇監(jiān)視
      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>正規(guī)表達式練習(xí)器</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>
      進行匹配的正規(guī)表達式:  忽略大小寫<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”>
          允許復(fù)制<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])[-./](dddd))
      2.檢查數(shù)字:
      ([-+]?[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>

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

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

      function execIt(form) {
      var mode
      if(form.chkmode.checked) mode = “gi”
      else mode = “g”
      var regexpArray = form.regexp.value.split(“rn”) //獲取正則表達式到數(shù)組

      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)
      }

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號