正規表現

javascript

正規表現とは文字列のパターンです。 「hogehoge」など文字列そのものだったり、「”h”で始まる」などパターンだったりします。 JavaScriptでは正規表現を使って文字列の検索や置換が可能です。

正規表現

正規表現は以下のいずれかで記述します。

正規表現リテラル

文字の前後にスラッシュ(/)を入れて正規表現を表します。 こちらを使うことの方が多いように思います。

書式

var reg = /hoge/;

RegExpオブジェクトのコンストラクタ関数

RegExpオブジェクトで正規表現を表します。

書式

var reg = new RegExp("hoge");

それではreplace関数を使って文字列の置換を行います。 replace関数は最初に一致した文字列を置換する関数です。

<script>
var moji = "hoge hoge";
var reg = /hoge/;
document.write(moji.replace(reg,"fumu"));
</script>

最初のhogeがfumuに置換されました。

実行結果

fumu hoge

パターンマッチング

正規表現は文字列そのものだけでなく、パターンで指定することもできます。

記号意味
^先頭文字が一致/^a/
$末尾文字が一致/a$/
*直前文字が0回以上繰り返している/ab*/
{n}直前文字がn回繰り返している/a{3}/
[xyz]角括弧で囲まれた文字のいずれか1文字と一致/[ab]/
[^xyz]角括弧で囲まれた文字ではない文字と一致/[^ab]/

これらを組み合わせてパターンマッチングを行います。以下は正規表現リテラルの一例です。

/^[0-9]$/  //数字のみで構成されている
/^[a-z]$/  //半角小文字のアルファベットだけで構成されている
/^[a-zA-Z]$/  //アルファベットだけで構成されている
/^a*$z/  //aで始まりzで終わる文字。aとzの間は0文字以上の単語が入っている

正規表現はStringのmatch、replace、search、splitメソッドなどで使用します。 上に書いたもの以外にも沢山あるので、必要に応じて使いましょう。

アマルウェブ HOME