|
結局前方一致を利用して、全体を以下のように定義しました。
■SETで定義された環境変数の定義を以下のように定義しました。
(特に強調2)
(?<=(%{2}(~[fdpnxsatz]*)*(\$[Pp][Aa][Tt][Hh]:){0,1}[a-zA-Z]))[%!][^~%!|\\|
\:|\=| |"\[\]]+(:~[0-9]*,{0,1}-{0,1}[0-9]*)*[%!]
(?<=%{1}(~[fdpnxsatz]*)*(\$[Pp][Aa][Tt][Hh]:){0,1}[0-9])[%!][^~%!|\\|\:|\=
| |"\[\]]+[^%!|\\|\:|\=| |"\[\]]*(:~[0-9]*,{0,1}-{0,1}[0-9]*)*[%!]
(?<!(^| |\t)%)[%!][^~%!|\\|\:|\=| |"\[\]]+[^%!|\\|\:|\=| |"\[\]]*(:~[0-9]*,
{0,1}-{0,1}[0-9]*)*[%!]
(?<=(%{2}(~[fdpnxsatz]*)*(\$[Pp][Aa][Tt][Hh]:){0,1}[a-zA-Z]))[%!][^~%!|\\|
\:|\=| |"\[\]]+[^%!|\\|\:|\=| |"\[\]]*(:~[0-9]*,{0,1}-{0,1}[0-9]*)*[%!]
※ %~1 や%%~Iとごちゃごちゃになるので、敢えて「%~AAA%」 のようなチルダから
始まる環境変数の強調は捨てました
■FOR関連の環境変数を以下のように定義しました。
%{2}(~[fdpnxsatz]*)*(\$[Pp][Aa][Tt][Hh]:){0,1}[a-zA-Z]
(特に強調1)
■CALL関連(バッチ引数)の環境変数を以下のように定義しました。
%{1}(~[fdpnxsatz]*)*(\$[Pp][Aa][Tt][Hh]:){0,1}[0-9]
(特に強調1)
以下の記述は(特に強調1,特に強調2が別の色で)強調表示されます。
%~1
%~f1
%~d1
%~p1
%~n1
%~x1
%~s1
%~a1
%~t1
%~z1
%~$PATH:1
%~dp1
%~nx1
%~dp$PATH:1%aa%
%%~ftzI%aa%
%aa%%aa%%aa%
%dd%%a%
%aa%%aa%
%aa%%%~dpnI%%I
%aa%%aa%%%~dpI
%aa%%aa%
%%~dpI%aa%
%aaa%%あああ%
%あああ%%aaa%
%aa%%aa%
%%I%aa%
%aa%%%i
%aa%%aa%%bb%%~ftzaI
%~$PATH:1
%PATH:~-10%
%PATH:~0,-2%
%PATH:~1,0%
%PATH:~0,-2% ← SETのヘルプにあるマイナス表現に対応させるのを前回忘れていま
した。
|
|