タグ入力の省力化(正規表現)
今回は正規表現を使ってhtmlのタグを付ける方法を学びます。前回お伝えした通りエディタの検索置換機能に「正規表現」を使うと、魔法のようなスピードでタグをつけることが可能です。
正規表現を用いた「検索」「置換」
それでは実際にやってみましょう。今回も下の「桃太郎」の文章を使いますので、これをエディタの新規書類へコピペしてください。
桃太郎
桃太郎の誕生
昔々、あるところにお爺さんとお婆さんがおりました。
お爺さんは山へ柴刈りに、お婆さんは川へ洗濯に行きました。
お婆さんが洗濯をしていると、川上から大きな桃が「どんぶらこ、どんぶらこ」と流れてきました。
コピペができたら、エディタの「検索」と「置換」の欄にそれぞれ下記の通り入力してください。(キーボードショットカットを使ってコピペしましょう。)
検索 (.+)
置換 <p>$1</p>
とりあえずこの文字列が何を意味しているのか今は考えなくてOKです。
なお正規表現を用いて検索置換する場合は、エディタの「正規表現を使用する」とか「正規表現検索」といったチェックボックスにチェックを入れる必要があります。
チェックを入れたら「すべてを置換」をクリック。
おお!素晴らしい!
ボタンひとつで全ての段落の
前には<p>
後ろには</p>
がつきました!
この呪文を使えばどんなに段落が増えても、ボタン一発で作業を完了できます。
今後<p>〜</p>に限らず、さまざまなタグをこのような「正規表現を用いた検索置換」で付与していきます。
呪文の理屈(正規表現、基本の“き”)
今後このブログでは、タグをつける作業(マークアップと呼びます)のたびに、必要な正規表現をお伝えします。皆さんはそのワードを「検索」と「置換」の窓に入れ、今回と同じ要領でエディタを操作すればマークアップをすることが出来ます。
これにより正規表現の理屈はわからなくても作業を進めることは可能なのですが、その反面、仕組みを理解していると電子書籍づくりに限らずいろいろな作業に使えるのが正規表現ですので、興味のある方はその仕組みを軽くかじってみてください。
まずは先ほど「検索」「置換」の欄にコピペした文字列が、どのような意味を持っているのかを説明します。
検索欄に入れた文字
- .+
- これは「一文字以上の文字や数字」の意味です。となると「一文字以上って言うとじゃあ何文字まで?」という話しになりますが、ここでは「段落の最初から最後まで(=改行から改行まで)」と理解してください。今回この「.+」は段落内の文字や数字すべてという意味になります。
- ( )
- 文字列を括弧で囲むことにより塊(かたまり)を表します。これについては後述の置換の説明とリンクするので、ここで「塊の意味」をあまり深く考えなくていいもです。
置換欄に入れた文字
- $1
- これは「塊の移行先」の意味です。検索にて「( )」で囲まれた内容を、この文字の場所にそのまま移行します。
- <p> と </p>
- 置換後新たにに追加したい文字です。
理解を深めるため、下記の例題を正規表現で「検索」「置換」をしてみましょう。
まずはテキストエディタに「あいうえお」と入力し、それに検索置換を掛けていきます。(先ほどお伝えした正規表現のチェックボックスを忘れずにチェックしてください。
例題1
検索 あい(う)えお
置換 $1
やりたいこと
カッコに囲まれた文字だけが$1に移行する。それ以外の該当しない文字を消す。
結果 う
例題2
検索 あい(う)え(お)
置換 $1$2
やりたいこと
複数箇所を移行させる。
$1は文頭から数えてひとつめの括弧に囲まれている文字「う」の移行先。$2は文頭から数えてふたつめの括弧に囲まれている文字「お」の移行先。それ以外の該当しない文字を消す。
結果 うお
例題3
検索 (あいうえお)
置換 平仮名で$1と書きました。
やりたいこと
移行した文字の前後に、文字を追加する。
結果 平仮名であいうえおと書きました。
さらに正規表現への理解を深めたい方には下記のサイトがわかりやすくておすすめです。実際に正規表現を使いながら覚えることができます。
すぐに使える!正規表現サンプル集
http://hodade.adam.ne.jp/seiki/
検索置換の正規表現を考えるのはパズルを解くような愉しみもあり、またそれにより作業が一瞬で終わるのはなかなか感動ものです。
もちろん本来の目的は電子書籍(HTML)のタグを「早く正確に付ける」ことですので、このブログでお伝えする正規表現をコピペして作業するだけでも(正規表現の理屈を知らなくても)問題はないです。
補足
正規表現を用いた検索置換は、エディタによって若干解釈が異なります。もしお使いのエディタで正規表現を使って同じ結果を得られない場合、このブログで紹介されているEmEditor(Windows用)かmi(Mac用)を使うことをお薦めします。
今日のまとめ
正規表現とは?
- テキストエディタの検索置換機能で使うことにより、タグ付け等の繰り返し作業を瞬時に終わらせることができる仕組み。
- 電子書籍づくりにおいて、それをマスターする必要はないが仕組みを理解しているといろいろな作業省力化に使える。
次回は
電子書籍の素材データの準備についてお話します。