久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放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)站

      代替正則――HyperScriptExpression聯(lián)合開發(fā)倡議公告


      正則的難寫和復(fù)雜語法使得出學(xué)者們難以接觸。為了解決這個難題,本人決定請諸位和本人一起開發(fā)HyperScriptExpression(以后簡稱HSE)。HSE全部使用標記(Marked)形式,語法規(guī)整,例如:
      正則d{2}-d{5}的等價HSE為:<rep=2><digit></rep>-<rep=5><digit></rep>
      正則<(.*)>.*</1>的等價HSE為<<rem(><*><any></*><)>><*><any></*></<rem=1>>。
      正則^Chapter [1-9][0-9]{0,1}的等價HSE為:<@start>Chapter <in>1-9</in><rep=0,1><in>0-9</in></rep>。
      正則(w)+[@]{1}((w)+[.]){1,3}(w)+的等價HSE為:<+><word></+><rep1>@</rep><rep=1,3><word+>.</rep><word+>。
      HSE 語法注釋
      <> 轉(zhuǎn)移符號。<用<代替。>用>代替
      <@start> 匹配輸入字符串的開始位置。如果設(shè)置了 HSE 對象的 Multiline 屬性,<@start> 也匹配<crlf>或<cr>之后的位置。
      <@over> 匹配輸入字符串的結(jié)束位置。如果設(shè)置了 HSE 對象的 Multiline 屬性,<@over> 也匹配<crlf>或<cr>之前的位置。
      <*></*> 匹配前面的子表達式零次或多次。例如,z<*>o</*> 能匹配 “z” 以及 “zoo”。等價于<least=0></least>。
      <+></+> 匹配前面的子表達式一次或多次。例如,’z<+>o</+>’ 能匹配 “zo” 以及 “zoo”,但不能匹配 “z”。等價于<least=1></least>。
      <sel></sel> 匹配前面的子表達式零次或一次。例如,”do<sel>es</sel>” 可以匹配 “do” 或 “does” 中的”do” 。 等價于<rep=0,1></rep>。
      <rep=n></rep> n 是一個非負整數(shù)。匹配確定的 n 次。例如,'<rep=2>o</rep>’ 不能匹配 “Bob” 中的 ‘o’,但是能匹配 “food” 中的兩個 o。
      <least=n></least> n 是一個非負整數(shù)。至少匹配n 次。例如,'<least=2>o</least>’ 不能匹配 “Bob” 中的 ‘o’,但能匹配 “foooood” 中的所有 o。
      <rep=m,n></rep> m 和 n 均為非負整數(shù),其中n >= m。最少匹配 m 次且最多匹配 n 次。例如,”<rep=1,3>o</rep>” 將匹配 “fooooood” 中的前三個 o。請注意在逗號和兩個數(shù)之間不能有空格。
      NG屬性 當(dāng)該字符緊跟在任何一個其他限制符后面時,匹配模式是非貪婪的。非貪婪模式盡可能少的匹配所搜索的字符串,而默認的貪婪模式則盡可能多的匹配所搜索的字符串。例如,對于字符串 “oooo”,'<+ NG>o</+>’ 將匹配單個 “o”,而 ‘<+>o</+>’ 將匹配所有 ‘o’。
      <anything>或<any> 匹配除 “<crlf>” 之外的任何單個字符。要匹配包括 ‘<crlf>’ 在內(nèi)的任何字符,請使用象 ‘<in><any><crlf></in>’ 的模式。
      <rem(>p</)>或
      <rem>p</rem>
      匹配 p 并獲取這一匹配。所獲取的匹配可以從產(chǎn)生的 Matches 集合得到,使用 SubMatches 集合,$0…$9 屬性。
      <(>pattern</)> 匹配 pattern 但不獲取匹配結(jié)果,也就是說這是一個非獲取匹配,不進行存儲供以后使用。這在使用 “或” 字符 (|) 來組合一個模式的各個部分是很有用。例如, ‘industr<(>y<or>ies</)> 就是一個比 ‘industry|industries’ 更簡略的表達式。
      <eq>pattern</eq> 正向預(yù)查,在任何匹配 pattern 的字符串開始處匹配查找字符串。這是一個非獲取匹配,也就是說,該匹配不需要獲取供以后使用。例如, ‘Windows <eq>95<or>98<or>NT<or>2000</eq>’ 能匹配 “Windows 2000” 中的 “Windows” ,但不能匹配 “Windows 3.1” 中的 “Windows”。預(yù)查不消耗字符,也就是說,在一個匹配發(fā)生后,在最后一次匹配之后立即開始下一次匹配的搜索,而不是從包含預(yù)查的字符之后開始。
      <neq>pattern</neq> 負向預(yù)查,在任何不匹配 pattern 的字符串開始處匹配查找字符串。這是一個非獲取匹配,也就是說,該匹配不需要獲取供以后使用。
      x<or>y 匹配 x 或 y。例如,’z<or>food’ 能匹配 “z” 或 “food”。'<(>z<or>f</)>ood’ 則匹配 “zood” 或 “food”。
      <in></in> 字符集合。匹配所包含的任意一個字符。例如,'<in>abc</in>’ 可以匹配 “plain” 中的 ‘a’。
      <nin></nin> 負值字符集合。匹配未包含的任意字符。例如,'<nin>abc</nin>’ 可以匹配 “plain” 中的’p’。
      <in>a-z</in> 字符范圍。匹配指定范圍內(nèi)的任意字符。
      <nin>a-z</nin> 負值字符范圍。匹配任何不在指定范圍內(nèi)的任意字符。
      <border></border> 匹配一個單詞邊界,也就是指單詞和空格間的位置。
      <nborder></nborder> 匹配非單詞邊界。<border>的否定。
      <control=x> 匹配由 x 指明的控制字符。例如,<control=M> 匹配一個 Control-M 或回車符。x 的值必須為 A-Z 或 a-z 之一。否則,將 <control> 視為 <nothing> 字符。
      <digit> 匹配一個數(shù)字字符??梢允褂?lt;digit+>,<digit*>,<digit?>格式。下同。
      <ndigit> 匹配一個非數(shù)字字符。
      <page> 匹配一個換頁符。
      <crlf> 匹配一個換行符。
      <cr> 匹配一個回車符。
      <blank> 匹配任何空白字符,包括空格、制表符、換頁符等等。
      <nblank> 匹配任何非空白字符。
      <tab> 匹配一個制表符。
      <vtab> 匹配一個垂直制表符。
      <word> 匹配包括下劃線的任何單詞字符。
      <nword> 匹配任何非單詞字符。
      <hex=n> 匹配 n,其中 n 為十六進制轉(zhuǎn)義值。十六進制轉(zhuǎn)義值必須為確定的兩個數(shù)字長。
      <call=num> 匹配 num,其中 num 是一個正整數(shù)。對所獲取的匹配的引用。例如,'<rem><any></rem><call=1>’ 匹配兩個連續(xù)的相同字符。
      <oct=n> 標識一個八進制轉(zhuǎn)義值。
      <unicode=n> 匹配 n,其中 n 是一個用四個十六進制數(shù)字表示的 Unicode 字符。例如, u00A9 匹配版權(quán)符號 (©)。
      <nothing>或者
      <nil>
      匹配空字符。用于選擇,比如<nothing><or>a<or>b<or>c<or>d代表a,b,c,d或者沒有(空字符)。
      <total> 強制性全部字符串匹配。比如<total>HS<in>DEF</in>可匹配HSD但不可以匹配HSDB中的HSD。
      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號