サクラエディタの便利な機能(正規表現キーワード)
前回、「強調キーワード」で「禁止キーワード」を強調する方法を書いた。
今回はもう少し複雑な色分け方法を説明する。
「小説家になろう」の諸先生の作品を拝見するにあたり、感想覧もまた見ていて楽しい。
その中には「小説家になろう」での執筆において作法のようなものがあり、それに対する指摘が多いことに気付く。
指摘の多いものは以下。
・ダッシュや三点リーダは『――』や『……』のように二個セットで記述するべき。
・『?』や『!』は全角スペースを伴うべき。
・『。」』のように閉じカッコの直前には句点『。』を付けない。
・改行後の文頭は全角スペースで字下げする。
・WEBのように横に構成されている文章は改行が多いほうが良い。
これら作法に従うか否かは、己の中の文芸の作法にマッチするか否かで決めることだ。
だが特に思い入れるべき意図が無いのならば従った方が良いだろう。
悩ましいのは、別段従うにやぶさかではないものの、つい逸脱してしまう場合が多いことだ。
これらルール的なものはテキストエディッタの色分け機能を用いる事により、ある程度自動チェックすることができる、
ここから先はやや技術的な内容になる。
意味的に考えてダッシュ「―」や三点リーダ「…」は偶数回連続させるのが正しいと思われる。
だから奇数回の連続は間違いであるので抽出したい。
しかし、奇数回の連続を抽出する一般解は一般に難しい、
なので一回、三回、五回を個別に抽出して強調する。
個別であれば正規表現という機能を使えば実現できる。
正規表現は文字列の集合を、一つの文字列式で表現する方法である。
サクラエディッタでも正規表現を用いて検索等の機能でパターンマッチに用いることができる。
そして色分け機能でも用いることができる。
ダッシュ「―」や三点リーダ「…」が一回、三回、五回繰り返される場合にマッチする正規表現式を登録すれば良いわけだ。
七回以上の奇数回の繰り返しも個別で良ければ正規表現式を作ることができる。
しかし七回以上の繰り返しは恐らく視覚的効果を狙っているのだから、多分意図的であろう。
ということで一回、三回、五回のダッシュ「―」や三点リーダ「…」の繰り返しを禁止ワードとして強調する方法を記載する。
サクラエディタで次のようにする。
・先ず、「設定」から「タイプ別設定」を選択し、「正規表現キーワード」のタブを選択する。
・「正規表現(N)」のエディットボックスに以下の正規表現式を入力、「色指定(C)」に「強調キーワード1」を指定して「追加(A)」で追加する
追加する正規表現式は以下のもの。
※「―」と「…」以外は全て半角
・一回だけのダッシュ「―」にマッチする正規表現式
/(?<!―)―(?!―)/k
・三回のダッシュ「―」の連続にマッチする正規表現式
/(?<!―)―――(?!―)/k
・五回のダッシュ「―」の連続にマッチする正規表現式
/(?<!―)―――――(?!―)/k
・一回だけの三点リーダ「…」にマッチする正規表現式
/(?<!…)…(?!…)/k
・三回の三点リーダ「…」の連続にマッチする正規表現式
/(?<!…)………(?!…)/k
・五回の三点リーダ「…」の連続にマッチする正規表現式
/(?<!…)……………(?!…)/k
なお、「強調キーワード1」の色指定は前回の記事で説明するように、先に赤背景に黄色文字に指定されている前提。
『?』と『!』に後続して良いのは改行と全角スペース、それに『?』と『!』、それに閉じカッコとする。
追加する正規表現式は以下のもの。
※「―」と「…」以外は全て半角
・『?』用の正規表現式
/(?<=?)[^\r\n$?! 』」)]/k
・『!』用の正規表現式
/(?<=!)[^\r\n$?! 』」)]/k
※最初の『?』は半角、後続する『?』と『!』、「』」、『」』、『)』は全角、空白は全角スペース
この設定を行うと『?』と『!』の後に、改行、全角スペース、それに『?』、『!』、「』」、『」』、『)』以外が来た場合強調される。
改行後の文頭を全角スペースで字下げする。
ただし、以下の場合は字下げの必要はない。
・改行だけの行
・半角英文の場合
・開きカッコ
・自分で任意に決める記号
・これら以外で始まる全角文字にマッチする正規表現式。
/^[^\r\n\!-~。-゜ ・「『(【●〇◎■□◆◇※①-⑳]/k
※空白は全角スペースでそれ以降]/kの前までは全て全角記号
これで改行後の文頭に字下げがない場合強調される。
タブで始まる行頭も強調される。
半角スペースで始まる行頭も強調される。
alphabetで始まる行頭は強調されない。
全角文字で協調されないのは全角スペースと・「『(【●〇◎■□◆◇①-⑳といった記号。
これは必要に応じて追加すればよい。
続いて句点「。」。
ちなみに「小説家になろう」のように横書きの文章はできるだけ改行を行うと見やすくなるという。
そのためには一つの句ごとに改行を行うというルールを設けても良いだろう。
以下の正規表現を追加すると、「。」の後に改行が無い場合強調される
・後続して改行がこない句点にマッチする正規表現式
/。(?![\r\n])/k
※「。」以外は全て半角
このように自分に課すルールごとにカラーで強調指定を行うと、それに違反した場合に視覚的に知らせてくれる。
赤背景に黄色の文字にしておくと毒々しくて気になるので、それを無くそうとする動作の優先順位があがる。
その結果、自分に課したルールは少なくとも守ることができる。
難点としては「正規表現の式」を作る難易度が高いことか。
たぶん、この記事は殆ど誰にも意味を理解してもらえないのだろうなと考える次第である。
それどころかブラバの原因となるだろう。
誤字が多い代わりに更新頻度が高いのとその逆、どちらが良いか?
読者としての私個人的な意見としてはだんぜん前者だ。
諸先生におかれては、これから正規表現を学ぼうというのは止めて頂きたい。
そんな不毛なことをするくらいなら、その時間を私が待つ話の続きを執筆する時間に充てて頂きたい。