javascriptで文字列に対して正規表現を使ってパターンマッチングすることを試してみます。
概要
通常、javascriptではRegExpコンストラクタを使ってマッチングをします。
マッチする条件としては正規表現で書かれた内容を基にされます。
正規表現については、javascriptとは別カテゴリなので、別途詳しく掘り下げます。
正規表現の記載方法としてはperlのものと同様の書き方が有効なります。
パターンマッチングの例
javascriptでのパターンマッチングについて、一例を書きます。
//「パターン文字列」にマッチするかどうか /パターン文字列/ //対象文字列の先頭が「パターン文字列」にマッチするかどうか /^パターン文字列/ //0以外の数字にマッチするかどうか /[1-9][0-9]/ //大文字小文字区別なしにjavascriptにマッチ /\bjavascript\b/i
上記のようなパターンマッチが使えるので、次に実際にコードを書いてみます。
パターンマッチングの検証
実際に次のようなコードを書いた場合の、実行結果をコメント部分に書いています。
//対象文字列 var check_string = "abcdefghijkh1234";
上記の対象文字列(変数)に対して、マッチするパターンを決めます。
//文字列「abc」にマッチするパターン var pattern = /abc/; //先頭の文字列が「abc」にマッチするパターン var pattern2 = /^abc/; //文字列「h」にマッチするか //(正規表現の最後の「/g」は文字列の最後まで検索を繰り返す var pattern3 = /h/g;
対象文字列とマッチするパターンを組み合わせ、マッチングを実行します。
//マッチするかどうか検証 //trueが返る console.log(pattern.test(check_string)); //trueが返る console.log(pattern2.test(check_string)); //文字列「h」がcheck_stringの何番目になるか console.log(check_string.search(pattern3)); //7が返る //文字列「h」がヒット、検索結果は Array [ "h", "h" ] として返される console.log(check_string.match(pattern3));
上記のコメント部分の結果が得られました。
パターンの記述方法や、マッチさせる方法はこの他にもあるので、実際にコーディングする場面が出てきたら追記します。