2009年1月13日

regexp 三頁

RegExp 一頁 | 二頁 | 三頁 | 四頁 | 五頁 | 特徵 | 方法 | 速查表
{n,} {n,m} [xyz] [^xyz] [\b] \b \B \cX
{n,}

n 是正整數。符合發生 n 次或更多次。

  • 程式用法:

    <script type='text/javascript'>
    var s='Hello helllllo Wendy';
    document.write( s.replace(/el{2,}/gi, 'x' ) +'<br />');
    document.write( s.replace(/el{3,}/gi, 'x' ) );
    </script>

  • 執行結果:

    Hxo hxo Wendy
    Hello hxo Wendy

{n,m}

n, m 是正整數。符合發生至少 n 次,最多 m 次。

  • 程式用法:

    <script type='text/javascript'>
    var s='Hello helllllo Wendy';
    document.write( s.replace(/el{3,4}/gi, 'x' ) );
    </script>

  • 執行結果:

    Hello hxlo Wendy

[xyz]

字母集合。符合其中的字母。可用”-”表連續的字母,例如 [i-n] 等於 [ijklmn]。

  • 程式用法:

    <script type='text/javascript'>
    var s='Hello Wendy';
    document.write( s.replace(/e[ln]/gi, 'x' ) );
    </script>

  • 執行結果:

    Hxlo Wxdy

[^xyz]

不屬於字母集合中的字母。

  • 程式用法:

    <script type='text/javascript'>
    var s='Hello Wendy';
    document.write( s.replace(/e[^a-l]/gi, 'x' ) );
    </script>

  • 執行結果:

    Hello Wxdy

[\b]

字碼,清除前一字。與下面的不同。

  • 程式用法:

    <script type='text/javascript'>
    var s='Hell\bo Wendy';
    document.write( s+'<br />'+ 
             s.replace(/[\b]/gi, 'x' ) );
    </script>

  • 執行結果:

    Hello Wendy
    Hellxo Wendy

\b

字的邊界,也就是頭尾兩字母,接著空白字元或標點符號者。

  • 程式用法:

    <script type='text/javascript'>
    var s='Hello, Joe Obama';
    document.write( s.replace(/\bo/gi, 'x' ) +'<br />');
    document.write( s.replace(/o\b/gi, 'x' ) +'<br />');
    document.write( s.replace(/(\bo|o\b)/gi, 'x' ) );
    </script>

  • 執行結果:

    Hello, Joe xbama
    Hellx, Joe Obama
    Hellx, Joe xbama

\B

不是字的邊界,也就是不接著空白字元或標點符號者。

  • 程式用法:

    <script type='text/javascript'>
    var s='Hello, Joe Obama';
    document.write( s.replace(/\Bo/gi, 'x' ) +'<br />');
    document.write( s.replace(/\Bo\B/gi, 'x' ) );
    </script>

  • 執行結果:

    Hellx, Jxe Obama
    Hello, Jxe Obama

\cX

控制字母,X 由 A 到 Z。


©2008-2009 by ant2legs, All Rights Reserved. ant2legs 擁有其製作的文章,圖片與程式的著作權,所有權利保留。