Regex在網路編程中的運用(2)

來源:互聯網
上載者:User
編程|網路|正則   Regex的文法規則和標記

  現在我們正式進入則運算式的學習,我會根據執行個體結合講解Regex的用法,看完後你就會覺得寫UBB代碼如此簡單了,只要你一步一步的跟著我學 看完本文章後你就成為UBB高手了。激動人心的就是你能寫出自已的UBB標籤來了,再也不用到別人那裡去拷貝現成的代碼和模板了。 還好VBScritp5.0給我們提供了"Regex"對象,只要你的伺服器安裝了IE5.x,就可以運行了.

  字元描述:

     ^符號匹配字串的開頭。例如:

    ^abc 與"abc xyz"匹配,而不與"xyz abc"匹配

  $符號匹配字串的結尾。例如:

    abc$ 與"xyz abc"匹配,而不與"abc xyz"匹配。

    注意:如果同時使用^符號和$符號,將進行精確匹配。例如:

       ^abc$ 只與"abc"匹配   

  *符號匹配0個或多個前面的字元。例如:

    ab* 可以匹配"ab"、"abb"、"abbb"等

  +符號匹配至少一個前面的字元。例如:

    ab+ 可以匹配"abb"、"abbb"等,但不匹配"ab"。

  ?符號匹配0個或1個前面的字元。例如:

    ab?c? 可以且只能匹配"abc"、"abbc"、"abcc"和"abbcc"

  .符號匹配除分行符號以外的任何字元。例如:

    (.)+ 匹配除分行符號以外的所有字串

  x|y匹配"x"或"y"。例如:

    abc|xyz 可匹配 "abc"或 "xyz",而"ab(c|x)yz"匹配 "abcyz"和"abxyz"

  {n}匹配恰好n次(n為非負整數)前面的字元。例如:

    a{2} 可以匹配"aa",但不匹配"a"

  {n,}匹配至少n次(n為非負整數)前面的字元。例如:

    a{3,} 匹配"aaa"、"aaaa"等,但不匹配"a"和"aa"。

    注意:a{1,}等價於a+

       a{0,}等價於a*

  {m,n}匹配至少m個,至多n個前面的字元。例如:

    a{1,3} 只匹配"a"、"aa"和"aaa"。

    注意:a{0,1}等價於a?

  [xyz]表示一個字元集,匹配括弧中字元的其中之一。例如:

    [abc] 匹配"a"、"b"和"c"

  [^xyz]表示一個否定的字元集。匹配不在此括弧中的任何字元。例如:

    [^abc] 可以匹配除"a"、"b"和"c"之外的任何字元

  [a-z]表示某個範圍內的字元,匹配指定區間內的任何字元。例如:

    [a-z] 匹配從"a"到"z"之間的任何一個小寫字母字元

  [^m-n]表示某個範圍之外的字元,匹配不在指定範圍內的字元。例如:

    [m-n] 匹配除從"m"到"n"之間的任何字元

  \符號是轉義操作符。例如:

    \n 分行符號

    \f 分頁符

    \r 斷行符號

    \t 定位字元

    \v 垂直定位字元

    \\ 匹配"\"

    \/ 匹配"/"

    \s 任何白字元,包括空格、定位字元、分頁符等。等價於"[ \f\n\r\t\v]"

    \S 任何非空白的字元。等價於"^\f\n\r\t\v]"

    \w 任何單詞字元,包括字母和底線。等價於"[A-Za-z0-9_]"

    \W 任何非單詞字元。等價於"[^A-Za-z0-9_]"

    \b匹配單詞的結尾。例如:

      ve\b 匹配單詞"love"等,但不匹配"very"、"even"等

    \B匹配單詞的開頭。例如:

      ve\B 匹配單詞"very"等,但不匹配"love"等

    \d匹配一個數字字元,等價於[0-9]。例如:

      abc\dxyz 匹配"abc2xyz"、"abc4xyz"等,
      但不匹配"abcaxyz"、"abc-xyz"等

    \D匹配一個非數字字元,等價於[^0-9]。例如:

      abc\Dxyz 匹配"abcaxyz"、"abc-xyz"等,
      但不匹配"abc2xyz"、"abc4xyz"等

    \NUM匹配NUM個(其中NUM為一個正整數),引用回到記住的匹配。例如:

      (.)\1 匹配兩個連續相同的字元。

    \oNUM匹配n(其中n為一個小於256的八進位換碼值)。例如:

      \o011 匹配製表符

    \xNUM匹配NUM(其中NUM為一個小於256的十六進位換碼值)。例如:

      \x41 匹配字元"A"



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。