以下の内容はhttps://var.blog.jp/archives/72347150.htmlより取得しました。
COMMENT
コメント一覧 (2)
1. ななしさん
2018/09/11 10:05
サクラエディタの色分け表示は正規表現キーワード使うと結構拡張できますね。
正規表現キーワードは行ごとの処理で複数行マッチが取れないため「``」は対応不能ですが、
正規表現リテラルに関してはそれなりに対応可能です。
タイプ別設定の色指定からシングルクォーテーション文字列とダブルクォーテーション文字列の色分けチェックをOFF
正規表現キーワードや強調キーワードの空いているところにそれぞれの色設定と正規表現の色設定を追加
正規表現キーワードを有効にして用意した色設定に対し次の正規表現を設定
・シングルクォーテーション文字列: /"(?>(?>[^"\\]+|\\.)*)"/k
・ダブルクォーテーション文字列: /'(?>(?>[^'\\]+|\\.)*)'/k
・正規表現リテラル: /(?<=^|^\s|[\[(,=:]|[\[(,=:\s]\s)\/(([^\/|(){}\[\]*+?\\]|\\.|(?>\[([^\[\]\\]|\\.)+?\])|\((\?.)?\g<1>*\))([+*?]\??|\{\d+\})?|[|])+\/[gikm]*/k
鬼車の部分式呼出しで()の対応関係をネストできるので不正な正規表現をある程度弾いてマッチ出来ます。
戻り読みで量指定子が使えないため、開始部分である/の前に複数の空白が有ると除算と正規表現を区別できない等の問題もありますが、概ね問題なくマッチできるかと思います。
// 完璧には出来ないから見直すたびに少しづつ手直ししてしまう…orz
2. [管理人]
2018/09/13 00:28
うわぁすごい正規表現ですね……
適当にいろいろ試してみましたが全然問題ありませんでした
ありがとうございます