トップページ / 正規表現を使ってみる

正規表現を使ってみる

スポンサードリンク

正規表現とは? bookmark

正規表現とは、あいまいな文字列でも検索できたりする機能のことです。
例えば、aで始まってxで終わるものをマッチさせることが出来ます。

正規表現にマッチングさせる bookmark

var str="String Hello";  
document.write(str.match(/H.+o/)+"<br>");
// Hello を出力します。

str は文字列型ですが、matchを使って正規表現マッチが可能です。

stringObject.matchのリファレンスはこちら

正規表現で文字列置換する bookmark

var str="String Hello";  
document.write(str.replace(/H.+o/i, "mojiretu") + "<br>");  
// String mojiretu が出力されます。

str は文字列型ですが、replaceを使って正規表現によるマッチと文字列の置換が行えます。

stringObject.replaceのリファレンスはこちら

正規表現でのマッチいろいろ bookmark

正規表現は最初はややこしいですが、慣れればかなり便利なものになります。最初はサンプルを見ながら使っていき、徐々に慣れていきましょう。

1文字以上 bookmark

str.match(/H.+o/)

この正規表現の場合、Hではじまって、.+ に続き、oで終わるという意味です。 .+ っていうのは正規表現で、 . が「何か特定の文字」で、+が「1文字以上」を表しています。何か特定の文字、とは、aでもbでも、なんでもいいっていうことを意味しています。更に、+は直前のものが1文字以上、ということで、 .+ で、何か特定の文字が1文字以上、という意味になります。Hello だったら、Hello がマッチします。

0文字以上 bookmark

str.match(/H.*o/)

先ほど、+ が1文字以上、ということを説明しましたが、0文字以上、という概念も存在します。.* の * がそれで、特定の文字が0文字以上という意味になります。これは、0文字でもいいということなので、Hoという文字列にもマッチします。.+ は Ho にはマッチしません。 .+ は、Hoo ならマッチします。

他にも色々 bookmark

正規表現だけで本一冊書けるといわれますが、最後にサンプルを何個かあげておきます。

/^A/ … 最初の文字が A であるものにマッチする
/x$/ … 最後の文字が x であるものにマッチする
/^A.+x$/ … 最初の文字が A ではじまり、最後の文字が xで終わるものにマッチする
/[abc]+/ … a,b,cいずれかの文字が1文字以上のものにマッチする

次のページ: ブラウザを操作JavaScriptの基礎

スポンサードリンク