こんにちは。「ふ」です。
前回replaceメソッドを使ってHTMLを書き換えることに成功しました。今度はこんなコードを試していきます▼。
html
ブラウザではこんな感じ▼。
ブラウザ
前回のreplaceメソッドを使って(思い出してね)、「りんご」を赤色のテキストにしてみたいと思います。
JavaScript
ブラウザ
1つ目の「りんご」しかreplaceされていない!
そうです。
replaceの第1引数に文字列を指定すると、1つ目の「りんご」にマッチするした段階で実行が終了してしまいます。したがって2つ目の「りんご」にreplaceは適用されません。
一括ですべての「りんご」に対応させるにはどうすればよいか。「正規表現」というものを使ってみましょう。
正規表現とは、文字列のパターンを記号や文字で表し、指定された範囲の中からそれを検出するやりかたです。
変数として宣言・代入してみると以下のように。
このように文字列をスラッシュ(/)で囲むことによって表現します。
replaceメソッドに取り入れてみましょう。
この「あいうえお」を部分的にカタカナに置換します。 まずは従来の、第1引数に文字列を入力する方法で。
今度は第1引数に正規表現を使ってみます。
いずれも同じ結果となります。
しかし!
このやり方ではまだ、1番目にマッチしたパターンしかreplaceさせることができません。
・・・・・・・・
JavaScriptの正規表現では検索条件を指定するオプションをつけることができます。
オプションのうち「g」をスラッシュの後に添えると、対象のテキストの中から該当するパターン全てにマッチします。
「g」は「global」の「g」を意味します。
replaceさせてみましょう。
扨、冒頭のHTMLコードを"検索オプション付きの正規表現"を使って置換してみましょう。あ、ついでに「みかん」の色も変えてみます。
「"」と「'」の使い分けに気をつけてくださいね。
html
JavaScript
扨(さて)プレビューするよ。
ブラウザ
おお、うまくいきましたね。
ではJavaScriptはこのままで、< div id = sample > 内のテキストを書きなぐってみます。
html
ブラウザ
指定した < div > 内にテキストを流し込むと、自動的にCSSが実行されてブラウザに表示される。
これは・・
最早・・
【シンタックスハイライト】
テキストを部分的に装飾(色やフォントなど)して、可読性を高く高くする機能。
例えばこんな感じです▼。
例:Adobe Brackets
一般的なcodeエディタにはシンタックスハイライト機能が実装されていて、入力したcodeがこのように綺麗に表示されます。
replaceメソッドと正規表現を使えば、ブラウザ上にかっこよくcodeを埋め込むことができそうですね!
swift、web、ガジェットなど。役立つ情報や観ていてたのしいページを書いていきたいと思います。
🐧 twitter 🐧