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

      JavaScript正則表達式上之基本語法(推薦)

      相關閱讀:

      js正則表達式基本語法(精粹)

      正則表達式語法

      一個正則表達式就是由普通字符(例如字符 a 到 z)以及特殊字符(稱為元字符)組成的文字模式。該模式描述在查找文字主體時待匹配的一個或多個字符串。正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。

      定義

      JavaScript種正則表達式有兩種定義方式,定義一個匹配類似 <%XXX%> 的字符串

      1. 構造函數(shù)

      復制代碼 代碼如下:

      var reg=new RegExp(‘<%[^%>]+%>’,’g’);

      2. 字面量

      復制代碼 代碼如下:

      var reg=/<%[^%>]%>/g;

      g:global,全文搜索,默認搜索到第一個結果接停止i:ingore case,忽略大小寫,默認大小寫敏感m:multiple lines,多行搜索(更改^ 和$的含義,使它們分別在任意一行對待行首和行尾匹配,而不僅僅在整個字符串的開頭和結尾匹配)

      元字符

      正則表達式讓人望而卻步以一個重要原因就是其轉義字符太多了,組合非常之多,但是正則表達式的元字符(在正則表達式中具有特殊意義的專用字符,可以用來規(guī)定其前導字符)并不多

      元字符:( [ { ^ $ | ) ? * + .

      并不是每個元字符都有其特定意義,在不同的組合中元字符有不同的意義,分類看一下

      JavaScript正則表達式上之基本語法(推薦)

      字符類

      一般情況下正則表達式一個字符(轉義字符算一個)對應字符串一個字符,表達式 abt 的含義是

      JavaScript正則表達式上之基本語法(推薦)

      但是我們可以使用元字符[]來構建一個簡單的類,所謂類是指,符合某些特征的對象,是一個泛指,而不是特指某個字符了,我們可以使用表達式 [abc] 把字符a或b或c歸為一類,表達式可以匹配這類的字符

      JavaScript正則表達式上之基本語法(推薦)

      元字符[]組合可以創(chuàng)建一個類,我們還可以使用元字符^創(chuàng)建反向類/負向類,反向類的意思是不屬于XXX類的內容,表達式 [^abc] 表示不是字符a或b或c的內容

      JavaScript正則表達式上之基本語法(推薦)

      范圍類

      按照上面的說明要是我們希望匹配單個數(shù)字那么表達式是這樣的

      [0123456789]

      如果是字母那么。。。,好麻煩,正則表達式還提供了范圍類,我們可以使用 x-y來連接兩個字符表示從x到y(tǒng)的任意字符,這是個閉區(qū)間,也就是說包含x和ybenshen,這樣匹配小寫字母就很簡單了

      [a-z]

      JavaScript正則表達式上之基本語法(推薦)

      要是想匹配所有字母呢?在[]組成的類內部是可以連寫的,我們還可以這樣寫[a-zA-Z]

      JavaScript正則表達式上之基本語法(推薦)

      預定義類

      剛才使用正則我們創(chuàng)建了幾個類,來表示數(shù)字,字母等,但這樣寫也很是麻煩,正則表達式為我們提供了幾個常用的預定義類來匹配常見的字符

      JavaScript正則表達式上之基本語法(推薦)

      有了這些預定義類,寫一些正則就很方便了,比如我們希望匹配一個 ab+數(shù)字+任意字符 的字符串,就可以這樣寫了 abd.

      JavaScript正則表達式上之基本語法(推薦)

      邊界

      正則表達式還提供了幾個常用的邊界匹配字符

      JavaScript正則表達式上之基本語法(推薦)

      看個不負責任的郵箱正則匹配(切勿模仿,小括號后面會講到)w+@w+.(com)$

      JavaScript正則表達式上之基本語法(推薦)

      量詞

      之前我們介紹的方法都是一一匹配的,如果我們希望匹配一個連續(xù)出現(xiàn)20次數(shù)字的字符串難道我們需要寫成這樣

      dddd…

      為此正則表達式引入了一些量詞

      JavaScript正則表達式上之基本語法(推薦)

      看幾個使用量詞的例子

      w+b Byron 匹配 單詞+邊界+Byron

      復制代碼 代碼如下:

      (/w+b Byron/).test(‘Hi Byron’); //true(/w+b Byron/).test(‘Welcome Byron’); //true(/w+b Byron/).test(‘HiByron’); //false

      d+.d{1,3} 匹配三位小數(shù)的數(shù)字

      JavaScript正則表達式上之基本語法(推薦)

      貪婪模式與非貪婪模式

      看了上面介紹的量詞,也許愛思考的同學會想到關于匹配原則的一些問題,比如{3,5}這個量詞,要是在句子種出現(xiàn)了十次,那么他是每次匹配三個還是五個,反正3、4、5都滿足3~5的條件,量詞在默認下是盡可能多的匹配的,也就是大家常說的貪婪模式

      復制代碼 代碼如下:

      ‘123456789’.match(/d{3,5}/g); //[“12345”, “6789”]

      既然有貪婪模式,那么肯定會有非貪婪模式,讓正則表達式盡可能少的匹配,也就是說一旦成功匹配不不再繼續(xù)嘗試,做法很簡單,在量詞后加上 ? 即可

      復制代碼 代碼如下:

      ‘123456789’.match(/d{3,5}?/g); //[“123”, “456”, “789”]

      分組

      有時候我們希望使用量詞的時候匹配多個字符,而不是像上面例子只是匹配一個,比如希望匹配Byron出現(xiàn)20次的字符串,我們如果寫成Byron{20} 的話匹配的是Byro+n出現(xiàn)20次,怎么把Byron作為一個整體呢?使用()就可以達到次目的,我們稱為分組

      (Byron){20}

      JavaScript正則表達式上之基本語法(推薦)

      如果希望匹配Byron或Casper出現(xiàn)20次該怎么辦呢?可以使用字符 | 達到或的功效

      (Byron|Casper){20}

      JavaScript正則表達式上之基本語法(推薦)

      我們看到圖中有個#1的東東,那是什么?使用分組的正則表達式會把匹配項也放到分組中,默認就是按數(shù)字編號分發(fā)的,各異根據(jù)編號獲得捕獲的分組內容,這個在一些希望具體操作第幾個匹配項的函數(shù)中很有用

      (Byron).(ok)

      JavaScript正則表達式上之基本語法(推薦)

      如果有分組嵌套的情況,外面的組的編號靠前

      ((^|%>)[^t]*)

      JavaScript正則表達式上之基本語法(推薦)

      有時候我們不希望捕獲某些分組,只需要在分組內加上 ?: 就可以了,著并不意味著該分組內容不屬于正則表達式,只是不會給這個分組加編號了而已

      (?:Byron).(ok)

      JavaScript正則表達式上之基本語法(推薦)

      其實在C#等語言中分組還可以起名字,不過JavaScript不支持

      前瞻表達式

      JavaScript正則表達式上之基本語法(推薦)

      說的有些抽象,看個例子good(?=Byron)

      JavaScript正則表達式上之基本語法(推薦)

      復制代碼 代碼如下:

      (/good(?=Byron)/).exec(‘goodByron123’); //[‘good’](/good(?=Byron)/).exec(‘goodCasper123’); //null(/bad(?=Byron)/).exec(‘goodCasper123’);//null

      通過上面例子可以看出 exp1(?=exp2) 表達式會匹配exp1表達式,但只有其后面內容是exp2的時候才會匹配,也就是兩個條件,exp1(?!exp2) 比較類似

      good(?!Byron)

      JavaScript正則表達式上之基本語法(推薦)

      復制代碼 代碼如下:

      (/good(?!Byron)/).exec(‘goodByron123’); //null(/good(?!Byron)/).exec(‘goodCasper123’); //[‘good’](/bad(?!Byron)/).exec(‘goodCasper123’);//null

      以上所述是小編給大家介紹的JavaScript正則表達式上之基本語法(推薦)的相關知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網(wǎng)站的支持!

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