什麼是javascript 中的元字元?

來源:互聯網
上載者:User
文章目錄
  • 元字元“?”與“( )”
  •   1  用?表示可選項
  •   2  用( )表示子匹配
元字元“?”與“( )”

元字元是一些具有特殊意義的專用字元,可以用於各種匹配關係。這裡介紹兩個元字元:'?'和'()'。

  1  用?表示可選項

?表示緊靠其前的元素項是可選(可有可無)的。例如,abc?能匹配abc和ab。如果讓?匹配多個字元,必須用圓括弧將這些字元括起來,使之成為一個緊密結合的組合項。這樣,後面的?就表示圓括弧中的內容可有可無。例如,a(bc)?能匹配a和abc。

如果一個圖書編號的格式或者是5個數字字元(如10101);或者是5個數字後面加上一個連字號(-),再加上4個數字組成的10位字元(如11111-1234)。那麼,尋找這種格式的圖書編號時,就可以使用“"d{5}(-"d{4})?”作為匹配模式。

其中,"d表示匹配一個任意的數字字元,{5}表示緊靠其前的元素項連續重複5次,"d{5}表示匹配任意連
續的5個數字,等效於"d"d"d"d"d。-"d{4}匹配的是一個連字號(-)後加上4個任一數字,(-"d{4})?表示連字號(-)及其後的4個
數字可有可無。

  2  用( )表示子匹配

除了能將多個元素組合成一個組合項外,括起來的運算式部分還稱為一個子匹配(也稱子運算式)。即可以用圓括弧
在一個長的運算式中劃分出子運算式。這樣,除了可以得到整個Regex的匹配結果外,還可以得到每個子運算式所匹配的結果。子運算式匹配的內容按照從左到
右的順序儲存在緩衝區,該過程稱為捕獲。

子匹配捕獲的內容可在運算式中位於該括弧之後的地方被反向引用,第一個圓括弧(即第一個子匹配)捕獲的內容用"1表示,第二個用"2表示,依此類推。

例如,要匹配兩個相同的連續數字字元的Regex是("d)"1;要匹配連續5個相同的數字字元的Regex為("d)"1{4};要匹配1221、3553、6776等這樣千位與個位相等、百位與十位相等的數字,可以使用的Regex為("d)("d)"2"1。

相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.