「
JaneStyle (正規表現)
」を編集中
2018年8月31日 (金) 20:43時点における
Sukemaru
(
トーク
|
投稿記録
)
による版
(ページを新規作成)
(差分) ← 古い版 |
最新版
(
差分
) |
新しい版 →
(
差分
)
ナビゲーションに移動
検索に移動
警告: このページの古い版を編集しています。
公開すると、この版以降になされた変更がすべて失われます。
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
[[マテリアルデザインっぽいアイコンと『小マクロ集』#おまけ|『小マクロ集』のおまけ]] の "'''JaneStyle (正規表現用)'''" を拡張しました。 ;対象ファイル * ReplaceStr.txt * ImageViewURLReplace.dat * URLExec.dat * command.dat これらJane系ブラウザの設定ファイル用の定数・変数と bregonig.dll の正規表現のタグやメタ文字を強調表示できます。 設定ファイルの拡張子は .TXT と .DAT なので、[[マテリアルデザインっぽいアイコンと『小マクロ集』|『小マクロ集』]] のおまけの「[[マテリアルデザインっぽいアイコンと『小マクロ集』#編集モードの自動選択|編集モードの自動選択]]」マクロを「ファイルを開いたとき」のイベントに割りあてておくと便利です。 * [http://k-takata.o.oo7.jp/mysoft/bregonig.html bregonig.dll Ver.4.12 のドキュメント] に依拠したものなので、古いバージョンの bregonig.dll や [http://www.hi-ho.ne.jp/babaq/bregexp.html bregexp.dll]、[https://github.com/kkos/oniguruma/blob/master/doc/RE.ja 鬼車]、[https://github.com/k-takata/Onigmo/blob/master/doc/RE.ja 鬼雲] (← Mery)、[http://perldoc.jp/docs/perl/5.16.1/perlreref.pod Perl] などの正規表現タグとはことなる部分があります(互換性のないタグを補遺・整理することで流用できるかも?)。 * 色番号は適当に割りふっていますので、おこのみで再割りふりしてください。 * 「構文」タブの「行コメント」を使用していないので、(ある程度)コメント行内のタグも着色できます(コメントアウト用のプリフィクスは文字色 '''8''' に集めてあります)。 * 名前つき集合と名前指定参照では '''''name''''' のパターンを '''''[\w\d]+''''' としています(アンダースコア以外の半角記号は対象外)。必要に応じて拡張してください。 * 正規表現検索用の構文 '''''/pattern/options''''' には対応していません(対象ファイル内にはURL文字列が多く、誤爆させない書き方がおもいつかなかった)。 ;[[マテリアルデザインっぽいアイコンと『小マクロ集』#おまけ|『小マクロ集』のおまけ]] からの変更 * Jane系ブラウザの定数・変数タグの補遺 * 正規表現タグの補遺 * うしろが " '''?''' " でない開きカッコ " '''(''' " を強調できるようにした : 先読み・戻り読みのある構文から一般的な捕獲式集合を数えやすくなります。 * 正規表現でグループ化していた各種タグを個別に切り分けた : 文字色の変更を自由にできます。 : 頻出するメタ文字 " '''.''' " , " '''*''' " , " '''\''' " など(有効にするとかえって読みづらくなる)除外したいものがあるばあい、編集モードのプロパティで「'''正規表現'''」のチェックを OFF にするだけで無効化できます。 = コード = 各行の説明文字列や末尾のコメントアウトした行をふくめてコピーしても差しつかえありません(コメントアウトした行は「編集モード」のインポートでは無視されるようです)。 ※ この構文ファイルをインポートすると、Mery.iniは 約180行・17kB 増量されます。インポートする必要のない定義は、行を削除してください。 以下、ソースコード <source lang="PowerShell"> #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(?:I|U|C|E|X)* 変数タグ |\$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=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) のグループに集めてあります。 </source> = メモ・ご意見などはこちらに = *2018/08/31: ページを新規作成 (sukemaru) ----
編集内容の要約:
MeryWikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MeryWiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の数式を計算してその答えを欄に入力してください (
ヘルプ
):
いちたすには =
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
スポンサーリンク
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
スポンサーリンク
スポンサーリンク
案内
メインページ
ヘルプ
よくある質問
マクロリファレンス
マクロライブラリ
プラグインライブラリ
構文ファイル
テーマ
寄付・開発支援
練習用ページ
開発室
開発者のブログ
ツール
スポンサーリンク