Closed Yang-33 closed 4 years ago
https://github.com/dbgroup-nagoya-u/paper-lintrules/blob/4596ffe85869512679a3795a3c31ebfc1d5e4c1c/lintrules/textlint/textlint.json#L16 は\\%をコメントとして扱えていないことに気が付きました。 また、 https://github.com/dbgroup-nagoya-u/paper-lintrules/blob/4596ffe85869512679a3795a3c31ebfc1d5e4c1c/lintrules/draftcheck/script.py#L36-L44 は\が3つ以上ある場合も全部コメントとして扱ってしまっていました。
\\%
\
https://stackoverflow.com/questions/54726344/regex-to-capture-latex-comments によると、%の手前に偶数個\がある文字列は正規表現だと(?<=(?<!\\)(?:\\{2})*)%.*で取得できるので、%を含まないそれより後ろの文字は(?<=(?<!\\)(?:\\{2})*%).*で取れます。
%
(?<=(?<!\\)(?:\\{2})*)%.*
(?<=(?<!\\)(?:\\{2})*%).*
https://regex101.com/ で
aaaaa%this is a comment bbbbb\%this is not a comment ccccc\\%this is a comment ddddd\\\%this is not a comment eeeee\\\\%this is a comment zzzz\ a \\%this is a comment
を入力すると正しいことが確認できる(最悪)
正規表現がとてもわかりにくいのでコメントを残しておくと後で困らなさそうです。
https://github.com/dbgroup-nagoya-u/paper-lintrules/blob/4596ffe85869512679a3795a3c31ebfc1d5e4c1c/lintrules/textlint/textlint.json#L16 は
\\%
をコメントとして扱えていないことに気が付きました。 また、 https://github.com/dbgroup-nagoya-u/paper-lintrules/blob/4596ffe85869512679a3795a3c31ebfc1d5e4c1c/lintrules/draftcheck/script.py#L36-L44 は\
が3つ以上ある場合も全部コメントとして扱ってしまっていました。https://stackoverflow.com/questions/54726344/regex-to-capture-latex-comments によると、
%
の手前に偶数個\
がある文字列は正規表現だと(?<=(?<!\\)(?:\\{2})*)%.*
で取得できるので、%を含まないそれより後ろの文字は(?<=(?<!\\)(?:\\{2})*%).*
で取れます。https://regex101.com/ で
を入力すると正しいことが確認できる(最悪)
正規表現がとてもわかりにくいのでコメントを残しておくと後で困らなさそうです。