文章を整形するときに、空白行やタブ、不要なスペースだけの行を
削除したいときが有ります。
そのとき、Jeditを使うAppleScriptでは
replaceAll string “^[ \t]*[\r\n]+” to “” with grep以下続く
と書くのですが、このバックスラッシュで問題が出ました。
AppleScriptエディタでコンパイルすると正しく認識されません。
当然エラーになって結果が”0″となります。
正規表現のメタキャラクタ”¥”はMacの場合”\”とAppleScript内で自動的に変換され
それが正しく認識されません。(構文が強制改行されてしまう。)
こまりまして、しまゆぐのMLに投稿したところ、
UNIXの古典的問題でそれを”\” → “\\”として回避すると言うことを教えてもらいました。
そうすると正しく処理されました。
——————正規表現で戸惑ったこと
同じ文字列をダブルクォートでくくった検索方法と比べ
正規表現は同一でない文字列、数字、記号を一気に探して置き換えますので
文章を書き換える作業には大変効率的です。
しかし、構文の書き方がset命令等と順番が違いますので戸惑います。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー