忍者ブログ
     2008年11月14日 開始
[16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

http://www.site-cooler.com/kwl/javascript/15.htm#15-4


大文字と小文字の区別(iオプション)


 JavaScriptが大文字小文字を区別するように正規表現でもデフォルトでは大文字と小文字を別として扱います。つまりアルファベットを記述したければa-zA-Zと二通りの指定をしなければ間違った指定になってしまいます。しかしJavaScriptもPerl同様にオプションをつけることによって大文字小文字を区別させないでマッチングすることが可能になります。


文字列.match(RegExpオブジェクト,"i") ;
/パターン/i


 [ sample ]



 [ source ]

<script language="JavaScript">
<!--
function func3(){

    str = "abc";

    if(str.match(/ABC/)){
        alert("オプション無し");
    }
    if(str.match(/ABC/i)){
        alert("オプション指定");
    }

}
//-->
</script>
<form>
<input type=button value="  ♂  " onClick="func3()">
</form>


 iオプションをつけてマッチングしています。これにより文字列が小文字の"abc"、検索対照が大文字の"ABC"となっていますがマッチすることが出来ます。

str.match(/ABC/i)



繰り返しのマッチング(gオプション)


 matchメソッドは [ 一致した文字(文字列)があった場合、一致した文字(文字列)を返します ] と説明しましたが、一致する文字(文字列)が複数あった場合はどうなるのでしょう・・・・ こうなった場合は一番はじめに見つかった文字列が返されることになります。しかしマッチした文字列を全部知りたいといった場合にちょっと困ってしまいます。そんなときにこのオプションを利用すればマッチングした文字(文字列)を全て配列として取得することが出来ます。


文字列.match(RegExpオブジェクト,"g") ;
/パターン/g


 [ sample ]


 [ source ]

<script language="JavaScript">
<!--
function func4(){

    str = "123456789";

    ret = str.match(/\w/g)

    alert("1番目:" + ret[0] + "\n" +
        "2番目:" + ret[1] + "\n" +
        "3番目:" + ret[2] + "\n" +
        "4番目:" + ret[3] + "\n" +
        "5番目:" + ret[4] + "\n" +
        "6番目:" + ret[5] + "\n" +
        "7番目:" + ret[6] + "\n" +
        "8番目:" + ret[7] + "\n" +
        "9番目:" + ret[8] + "\n");

}
//-->
</script>
<form>
<input type=button value="  ♂  " onClick="func4()">
</form>


 gオプションをつけてマッチングしています。これにより一回マッチングしても終了しないで全てに対してマッチングを行い、その結果を配列として戻すことになります。

ret = str.match(/\w/g)


 
PR


忍者ブログ [PR]
お天気情報
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
リンク
フリーエリア
最新CM
最新TB
プロフィール
HN:
No Name Ninja
性別:
非公開
バーコード
ブログ内検索
P R
カウンター
ブログの評価 ブログレーダー