我在另一篇文章中关注了这个问题:Regex to capture LaTeX comments
提供的答案很棒。不过,好像只能在.net引擎中使用,但我想使用PCRE引擎。那是因为我使用的是 sublime text,并且默认情况下似乎使用该引擎。我尝试了很多次,但没有成功。
乳胶是
\usepackage{test}%COMMENT1
TEXT
%COMMENT2
TEXT
Value is 10\%, this should not be removed. %COMMENT3
begin{tikz}[
important 1,
%COMMENT4
important 2, %COMMENT5
]
TEXT
%COMMENT 6
TEXT
Table: value1&value2\\%COMMENT7
Table: value1&value2\\ %COMMENT8
Table: value1&value2 \\%COMMENT 9
Table: value1&value2\\% COMMENT 10
Table: value1&value2\\%COMMENT11
Run Code Online (Sandbox Code Playgroud)
我试过(?m)(?<=(?<!\\)(?:\\{0}))%.*(?:\r?\n(?!\r?$))?。仅适用于注释 1-6,8。
在线结果可见https://regex101.com/r/zSIBMu/3
我应该如何修改呢?
您还可以使用SKIP FAIL方法:
\\(?<!\\.)(?>\\\\)*%(*SKIP)(*F)|%.*
Run Code Online (Sandbox Code Playgroud)
模式匹配:
\\(?<!\\.)匹配\前面没有\(?>\\\\)*匹配可选对\\%(*SKIP)(*FAIL)匹配%和跳过匹配|或者%.*匹配%和该行的其余部分编辑
Casimir et Hippolyte建议的非环视解决方案,用于跳过\\或的匹配\%
\\[\\%](*SKIP)(*F)|%.*
Run Code Online (Sandbox Code Playgroud)
\\[\\%]匹配\\或\%使用字符类(*SKIP)(*FAIL)跳过比赛|或者%.*匹配%和该行的其余部分| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |