2012年1月10日火曜日

正規表現の復習4

昨年暮れから正規表現の復習を始めたものの、また忘れてしまったのでメモ。
素材はOpenOfficeからコピペした文章ネタ
余談ですが、この履歴書をアルバイトの面接先に提出してしまいました。。。orz
昭和53
3
静岡県立ホゲホゲ高等学校卒業
昭和54
4
東京の某大学なんちゃら学部入学
昭和60
3
東京の某大学なんちゃら学部卒業
エディタにペーストして↑になった文章を一発で下記の文章にしたいわけです。
昭和53年3月 静岡県立ホゲホゲ高等学校卒業
昭和54年4月 東京の某大学なんちゃら学部入学
昭和60年3月 東京の某大学なんちゃら学部卒業

EMエディタで(?<=\d)\n(?=\d)で検索し、年に置換。(?<=\d)\n(?=\D)で検索し、月 に置換するには、連続置換機能(マクロ)があれば便利なのですが、フリーのEMエディタにはそれがありません。ならばサクラエディタで!となったのですが、検索にマッチしません。

そこで秀丸を使ってみました。今まで秀丸を使わなかったのは、どこぞのblogで正規表現にクセがあるようなことが書かれていたからです。まぁ方言のことだと思います。

メモ:改行は秀丸、EMエディタで\n、サクラエディタは\r\n、InDesignでは\r。

ちなみにInDesignの正規表現では、後読みに繰り返しや選択が使えないとありますので、エディタで処理出来ることはエディタでやった方がベターですね。
結果、マクロで一発! 下記の文字も化けません^^
à è ì ò ù  á é í ó ú ý  â ê î ô û  ã ñ õ  ä ë ï ö ü ÿ   ç Ç ¿ ¡ © ® ™

復習ついでに数字以外にマッチさせる正規表現は\D
大文字にすれば以外の意だったんだよなぁ~。

ついでのついでに半角円マークを表示したければ&yen;を使えもメモ。
(でも面倒なのでこのblogではやりません^^)


↓バラバラに使用されたダブルクォーテーション括弧を



↓こんな風に整えるには


流星さんから教えてもらったやり方[“”]([^“”]+?)[“”]で検索、“\1”で置換(秀丸の場合)。InDesignでは“$1”になります。

こいつは「目から鱗」で感動しました^^ グループマーキング( )とグループ化された文字列\1の素晴らしい使い方の例です。DTPの勉強会 特別編・第1回サイト
グループを使用する目的は主に2つ。ひとつは検索文字列をキャプチャして、置換文字の「$1〜$9」で参照させること。もうひとつは、選択「|」を使用するときに選択境界をはっきりさせることである。たとえば、タブ区切りの列の順序を入れ替えたい時、文字列「hoge\tfuga\tpuyo」に対して、検索フィールドに正規表現「(.+?)\t(.+?)\t(.+?)\r」と書き、置換フィールドに「$3\t$2\t$1\r」と書けば、結果は「puyo\tfuga\thoge」となる。
が紹介されてましたが、応用力のないアチキはこれは思いつきませんでした。いや実に面白い^^

0 件のコメント:

コメントを投稿