JaneStyle (正規表現用)
『小マクロ集』のおまけ の "JaneStyle (正規表現用)" を拡張しました。
- 対象ファイル
- ReplaceStr.txt
- ImageViewURLReplace.dat
- URLExec.dat
- command.dat
これらJane系ブラウザの設定ファイル用の定数・変数と bregonig.dll の正規表現のタグやメタ文字を強調表示できます。
設定ファイルの拡張子は .TXT と .DAT なので、『小マクロ集』 のおまけの「編集モードの自動選択」マクロを「ファイルを開いたとき」のイベントに割りあてておくと便利です。
- bregonig.dll Ver.4.12 のドキュメント に依拠したものなので、古いバージョンの bregonig.dll や bregexp.dll、鬼車、鬼雲 (← Mery)、Perl などの正規表現タグとはことなる部分があります。
- 共通部分は多いので、互換性のないタグを補遺・整理すれば これらの 正規表現 強調用の構文ファイル としても転用できるとおもいます。
- 色番号は適当に割りふっていますので、おこのみで再割りふりしてください。
- 「構文」タブの「行コメント」を使用していないので、(ある程度)コメント行内のタグも着色できます(コメントアウト用のプリフィクスは文字色 8 に集めてあります)。
- 名前つき集合と名前指定参照では "name" のパターンを "[\w\d]+" としています(アンダースコア以外の半角記号は対象外)。必要に応じて拡張してください。
- 正規表現検索用の構文 "/pattern/options" には対応していません(対象ファイル内にはURL文字列が多く、誤爆させない書き方がおもいつかなかった)。
- 『小マクロ集』のおまけ からの変更
- Jane系ブラウザの定数・変数タグの補遺
- 正規表現タグの補遺
- うしろが " ? " でない開きカッコ " ( " を強調できるようにした
- 先読み・戻り読みのある構文から一般的な捕獲式集合を数えやすくなります。
- 正規表現でグループ化していた各種タグを個別に切り分けた
- 文字色の変更を自由にできます。
- 頻出するメタ文字 " . " , " * " , " \ " など(有効にするとかえって読みづらくなる)除外したいものがあるばあい、編集モードのプロパティで「正規表現」のチェックを OFF にするだけで無効化できます。
コード編集
各行の説明文字列や末尾のコメントアウトした行をふくめてコピーしても差しつかえありません (コメントアウトした行は「編集モード」のインポートでは無視されるようです)。
※ この構文ファイルをインポートすると、Mery.iniは 約180行・17kB 増量されます。 インポートする必要のない定義は、行を削除してください。
※ Jane系設定ファイル用の項目には下線をつけてあります。 正規表現の強調表示用の項目だけが必要なばあい、下線つきの行を削除してください。
以下、ソースコード
#TagBegin= #TagEnd= #CommentBegin1= #CommentEnd1= #LineComment1= #CommentBegin2= #CommentEnd2= #LineComment2= #SpecialSyntax=None #ScriptBegin= #ScriptEnd= #QuoteSingle=False #QuoteDouble=False #QuoteContinue=False #EscapeCharacter= #Word Color=0, WholeWord=False, RightSide=False, MatchCase=True, InsideTag=False, RegEx=True 改行タグ |<br> 罫線タグ |<hr> 文字コードの ¥x |\\x(?=[0-9a-fA-F]{1,2}) 文字コードの ¥x |\\x(?=\{?[0-9a-fA-F]{1,6}\}?) 非捕獲式集合の ?: |(?<=\()\?: #Word Color=0, WholeWord=False, RightSide=False, MatchCase=false, InsideTag=False, RegEx=True wscript cscript genVwCache\.wsf gethtmldat\.js #Word Color=1, WholeWord=False, RightSide=False, MatchCase=False, InsideTag=False, RegEx=True POSIXブラケット |\[:^^?alnum:\]| 英数字 POSIXブラケット |\[:^^?alpha:\]| 英字 POSIXブラケット |\[:^^?ascii:\]| ASCII文字 0x00-0x7F POSIXブラケット |\[:^^?blank:\]| \t, 0x20 (半角スペース) POSIXブラケット |\[:^^?cntrl:\]| 制御文字 0x00-0x1F, 0x7F POSIXブラケット |\[:^^?digit:\]| 0 - 9 POSIXブラケット |\[:^^?graph:\]| 0x21-0x7E, 多バイト文字 POSIXブラケット |\[:^^?lower:\]| 小文字の英字 a - z POSIXブラケット |\[:^^?print:\]| 0x20-0x7E, 多バイト文字 POSIXブラケット |\[:^^?punct:\]| 半角句読点文字 !"#$%&'()*+,-./:;<=>?@[¥]^_`{|}~ POSIXブラケット |\[:^^?space:\]| \t, \n, \v, \f, \r, 0x20 (半角スペース) POSIXブラケット |\[:^^?upper:\]| 大文字の英字 A - Z POSIXブラケット |\[:^^?xdigit:\]| 0 - 9, a - f, A - F POSIXブラケット |\[:^^?word:\] 英数字, "_", 多バイト文字 文字プロパティ |(?<=\\p\{)^^?Alnum(?=\}) 文字プロパティ |(?<=\\p\{)^^?Alpha(?=\}) 文字プロパティ |(?<=\\p\{)^^?ASCII(?=\}) 文字プロパティ |(?<=\\p\{)^^?Blank(?=\}) 文字プロパティ |(?<=\\p\{)^^?Cntrl(?=\}) 文字プロパティ |(?<=\\p\{)^^?Digit(?=\}) 文字プロパティ |(?<=\\p\{)^^?Graph(?=\}) 文字プロパティ |(?<=\\p\{)^^?Lower(?=\}) 文字プロパティ |(?<=\\p\{)^^?Print(?=\}) 文字プロパティ |(?<=\\p\{)^^?Punct(?=\}) 文字プロパティ |(?<=\\p\{)^^?Space(?=\}) 文字プロパティ |(?<=\\p\{)^^?Upper(?=\}) 文字プロパティ |(?<=\\p\{)^^?XDigit(?=\}) 文字プロパティ |(?<=\\p\{)^^?Word(?=\}) 文字プロパティ ひらがな |(?<=\\p\{)^^?Hiragana(?=\}) 文字プロパティ カタカナ |(?<=\\p\{)^^?Katakana(?=\}) 文字プロパティ 漢字 一-龠 |(?<=\\p\{)^^?Han(?=\}) 文字プロパティ ラテン文字 |(?<=\\p\{)^^?Latin(?=\}) 文字プロパティ ギリシャ文字 |(?<=\\p\{)^^?Greek(?=\}) 文字プロパティ キリル文字 |(?<=\\p\{)^^?Cyrillic(?=\}) #Word Color=1, WholeWord=False, RightSide=False, MatchCase=True, InsideTag=False, RegEx=True HTMLタグ内 属性値 |(?<=\w=)[^^\s>]+?(?=>) #Word Color=2, WholeWord=False, RightSide=False, MatchCase=False, InsideTag=False, RegEx=True 積演算 && |\&\& 捕獲式集合のカッコ |(?<!\\)\((?!\?) 名前付き捕獲式集合 ?<name> |(?<=\()\?<[\w\d]+> 名前付き捕獲式集合 ?'name' |(?<=\()\?'[\w\d]+' 名前付き捕獲式集合 ?P<name> |(?<=\()\?P<[\w\d]+> #Word Color=2, WholeWord=False, RightSide=False, MatchCase=True, InsideTag=False, RegEx=False 後方参照 ¥k |\\k 部分式参照 ¥g |\\g #Word Color=2, WholeWord=False, RightSide=False, MatchCase=True, InsideTag=False, RegEx=True 変数タグ|\$EXTRACT[0-9]?(?!MODE) 変数:全体 $& |\$& 戻り読み ¥K |\\K 後方参照 ¥k<±n・name> |\\k<[-+]?[\w\d]+> 後方参照 ¥k'±n・name' |\\k'[-+]?[\w\d]+' 照合開始錨 ¥G |\\G(?=\(|\)) 部分式参照 ¥gn |\\g-?\d+ 部分式参照 ¥g{n・name} |\\g\{[-\w\d]+\} 名前/番号指定参照 ¥g<±n・name> |\\g<[-+]?[\w\d]+> 名前/番号指定参照 ¥g'±n・name' |\\g'[-+]?[\w\d]+' 名前指定参照 ${name} |\$\{[\w\d]+\} 名前指定参照 (?P=name) |\(\?P=[\w\d]+\) 名前指定部分式参照 (?P>name) |\(\?P>[\w\d]+\) 再帰参照 (?0) (?R) |\(\?[0R]\) 部分式参照 (?&name) |\(\?&[\w\d]+\) 番号指定参照 (?±n) |\(\?[-+]?\d+\) 番号指定参照 $±{name} |\$[-+]?\{[\w\d]+\}\d* 番号指定参照 ${n} |\$\{[0-9]{1,2}\} 番号指定参照 $n |\$(?!0)[0-9]{1,2}(?!\d+) 番号指定参照 ¥n |\\(?!0)[0-9]{1,2}(?!\d+) 部分文字列 最後 $+ |\$\+ 名前+番号指定参照 $- |\$- 条件式 ?(n) |(?<=\()\?\(\d+(?:[!<>= ]+\d+)?\) 条件式 ?(<name>) |(?<=\()\?\(<[\w\d]+>\) 条件式 ?('name') |(?<=\()\?\('[\w\d]+'\) 単語境界錨 ¥b |\\b 非単語境界錨 ¥B |\\B 文字列先頭錨 ¥A |\\A 文字列末尾錨 ¥Z |\\Z| または文字列末尾の改行の直前 文字列末尾錨 ¥z |\\z 正規表現演算子の抑制開始タグ ¥Q |\\Q 正規表現演算子の抑制終了タグ ¥E |\\E 文字プロパティの ¥p ¥P |\\[pP](?=\{) #Word Color=3, WholeWord=False, RightSide=False, MatchCase=False, InsideTag=False, RegEx=True (?<=【TAB】)<[0-5]?> <TAB> \[TAB\] \{TAB\} 【TAB】 [TAB] Mery.exe |Mery(?:\.exe)?(?!\\) Janeのパス |\$BASEPATH ログのパス |\$LOGPATH #Word Color=3, WholeWord=False, RightSide=False, MatchCase=True, InsideTag=False, RegEx=True ^^<> ^^<ex> ^^<ex2> ^^<rx> ^^<rx2> 正規表現演算子の被抑制部分 |(?<=\\Q)(?!\\E).+?(?=\\E) #Word Color=3, WholeWord=False, RightSide=True, MatchCase=True, InsideTag=False, RegEx=True 行頭の安価 > |^^>+ ? #Word Color=4, WholeWord=False, RightSide=False, MatchCase=True, InsideTag=False, RegEx=True 動作制御タグ |\$BROWSER 動作制御タグ |\$CHOTTO 動作制御タグ |\$LIST 動作制御タグ |\$LOVELY 動作制御タグ |\$VIEW(?!ER) 動作制御タグ |\$VIEWER(?!IMAGE|ITEM|URL) 動作制御タグ |\$EXTRACACHE 動作制御タグ |\$(?:NO)?BREAK 動作制御タグ |\$(?:NO)?EXTCTRL 動作制御タグ |\$VIEWNOIMAGE 動作制御タグ |\$FLASH 動作制御タグ |\$EXACTMODE 対象URL・タイトルの \t<n> |(?<=\t)<[0-5]>(?=[^^\t]+$) 文字参照 |&(?:amp;)*^#?\w+;(^#?\w+;)? #Word Color=5, WholeWord=False, RightSide=False, MatchCase=False, InsideTag=False, RegEx=True 先読み 否定 ?! |(?<=\()\?! 先読み ?= |(?<=\()\?= 戻り読み ?<= |(?<=\()\?<= 戻り読み 否定 ?<! |(?<=\()\?<! 注釈 ?# |(?<=\()\?^# 非包含オペレータ ?~ |(?<=\()\?~ 原子的式集合 ?> |(?<=\()\?> オプション ?imsxadlu-imsx: |(?<=\()\?[imsxadlu]+-?[imsx]*:?|(?<=\()\?[imsxadlu]*-[imsx]+:? オプション ?^imsxadlu-imsx: |(?<=\()\?^^[imsxadlu]+-?[imsx]*:?|(?<=\()\?^^[imsxadlu]*-[imsx]+:? メタ文字 $ |(?<!\\)\$(?![&+\-{\d]) メタ文字 * |(?<!\\)\* メタ文字 + |(?<!\\)\+ メタ文字 - |(?<!\\)\- メタ文字 . |(?<!\\)\. メタ文字 ? |(?<!\\)\?(?![:=!~^#>]|<[=!]) メタ文字 | |(?<!\\)\| #Word Color=5, WholeWord=False, RightSide=False, MatchCase=True, InsideTag=False, RegEx=True メタ文字 ¥ |(?<!\\)\\(?![bgkpxzABEGKPQZ\d]) 変数タグ |\$(?:UTF8|EUC)?TEXT[IUCEX]* 変数タグ |\$LINKE? 変数タグ |\$URL2? 変数タグ |\$TITLE 変数タグ |\$NUMBER 変数タグ |\$BOARDNAME2? 変数タグ |\$BURL2? 変数タグ |\$BBSNAME 変数タグ |\$DATNAME 変数タグ |\$INPUTE? 変数タグ |\$LOCALDAT 変数タグ |\$LOCALIDX 変数タグ |\$BOARDPATH2? 変数タグ |\$VIEWERIMAGE 変数タグ |\$VIEWERITEM 変数タグ |\$VIEWERURL 変数タグ |\$BURL2? 変数タグ |\$FILE 変数タグ |\$COOKIE 変数タグ |\$HOST 置換対象タグ all |\tall(?=\t|$) 置換対象タグ date |\tdate(?=\t|$) 置換対象タグ mail |\tmail(?=\t|$) 置換対象タグ msg |\tmsg(?=\t|$) 置換対象タグ name |\tname(?=\t|$) 置換対象タグ|(?<= |【TAB】|\[TAB\]|<TAB>|\{TAB\}|[TAB])(?:name|mail|date|msg|all)(?=\t|$) #Word Color=6, WholeWord=False, RightSide=False, MatchCase=True, InsideTag=False, RegEx=True メタ文字 ^ |\^^ 文字参照 偽|[&&][#^#]?[0-9]+[;;] 文字参照 偽|&[#^#]?[0-90-9a-zA-Z]+[;;] #Word Color=7, WholeWord=False, RightSide=False, MatchCase=False, InsideTag=False, RegEx=True 注釈値 |(?<=\(\?^#)[^^)]+ #Word Color=7, WholeWord=False, RightSide=True, MatchCase=False, InsideTag=False, RegEx=True コメントアウト 行頭 // |^^// コメントアウト 行頭 ; |^^; コメントアウト 行頭 # |^^^# コメントアウト 行頭 ’ |^^' #Word Color=7, WholeWord=False, RightSide=True, MatchCase=True, InsideTag=False, RegEx=True 対象URL・タイトルの文字列|(?<=\t<[0-5]>)[^^\t]+(?=$)
# # 対象ファイル # ・ReplaceStr.txt # ・ImageViewURLReplace.dat # ・URLExec.dat # ・command.dat # # bregonig.dll Ver.4.12 のドキュメント http://k-takata.o.oo7.jp/mysoft/bregonig.html に依拠したので、古いバージョンの bregonig.dll や bregexp.dll、鬼車、鬼雲(← Mery) などの正規表現タグとはことなる部分があるかも。 # # ※ この構文ファイル上で各定義を直接編集する場合、^ と # にはエスケープ文字 ^ をつけてください。正規表現のメタ文字のエスケープの要否はご自分で判断してください。 # # 収録しなかった正規表現タグ (文字・文字種の変数など) # ※ 必要なら行頭の ”# ” を消してお好みのグループへ(必要に応じてメタ文字 \ の先読み否定の文字クラスも書きかえてください) # # \\t| 水平タブ (0x09) # \\n| 改行 (0x0A) # \\r| 復帰 (0x0D) # \\b| 後退空白 (0x08) 文字集合の中でのみ有効。 # \\f| 改頁 (0x0C) # \\a| 鐘 (0x07) # \\e| 退避修飾 (0x1B) # \\\d{1,3}| 8進数表現 (符号化バイト値(の一部)) 1~3桁 # \\o\{\d{1,7}\}| 拡張8進数表現 (コードポイント値) 1~6桁、あるいは 1~7桁 (Ver.4 以降) # \\cx| 制御文字表現 (コードポイント値) # \\w| 単語構成文字 # \\W| 非単語構成文字 # \\s| 空白文字 # \\S| 非空白文字 # \\d| 10進数字 # \\D| 非10進数字 # \\R| 改行文字 (Linebreak) (Ver.3 以降) 改行1つにマッチします。CRLF も1文字としてマッチします。 # \\X| 拡張書記素クラスタ (eXtended grapheme cluster) (Ver.3 以降、Ver.4 で強化) Unicode の結合文字等を考慮した1文字にマッチします。 # \[ ... \]| 集合 (文字集合内文字集合) 文字クラス # \\l| 次の1文字を小文字にする。(Ver.3 以降) # \\u| 次の1文字を大文字にする。(Ver.3 以降) # \\L| \E までを小文字にする。(Ver.3 以降) # \\U| \E までを大文字にする。(Ver.3 以降) # # 正規表現検索 / … / の後ろにつけるオプション [imsgxk8audlR] フラグってどう書くのがいいんだろうか? URLに誤爆させない書き方がおもいつかないので対応できません…。 # その他、使い方のわからないものは収録していません。 # # ※ 頻出するメタ文字 . * \ など除外したいものがあるなら、「正規表現」のチェックを OFF にするだけで無効化できます。 # ※ 名前つき集合と名前指定参照では name のパターンを [\w\d]+ としています(アンダースコア以外の半角記号は対象外)。必要に応じて拡張してください。 # ※ 色番号は適当に割りふっていますので、おこのみで再割りふりしてください。 # ※「構文」タブの「行コメント」を使用していないので、(ある程度)コメント行内のタグも着色できます。コメントアウト用のプリフィクスは文字色 8 (#Word Color=7) のグループに集めてあります。
メモ・ご意見などはこちらに編集
- 2018/08/31: ページを新規作成 (sukemaru)
- 2018/09/01: ソースコード内 #Word Color=7 の 「注釈値 |(?<=\(\?^#)[^^)]+」を RightSide=False に修正 (sukemaru)
- 2018/09/08: ソースコードの表示形式を変更。 <source>タグなし、下線などの文字修飾を追加 (sukemaru)
スポンサーリンク