パターンマッチング

javascript

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));

上記のコメント部分の結果が得られました。
パターンの記述方法や、マッチさせる方法はこの他にもあるので、実際にコーディングする場面が出てきたら追記します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です