正規表現を使ってみる
正規表現とは? 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の基礎)