【发布时间】:2019-02-16 18:33:46
【问题描述】:
我正在尝试编写一个正则表达式来查找 LaTeX 中的注释行。我创建了以下示例。最后一个正则表达式不起作用。我可以为所有情况使用一个正则表达式吗?
之前:
\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
之后:
\usepackage{test}
TEXT
TEXT
Value is 10\%, this should not be removed.
begin{tikz}[
important 1,
important 2,
]
TEXT
TEXT
Table: value1&value2\\
这是我到目前为止所达到的:
(^%(.*?)\r?\n)
替换为空时适用于评论 2、4、6
([\]{2}%(.*?)\r\n)
这适用于注释 7 替换为 \\\r\n
([^\]%(.*?)\r?\n)
这不适用于评论 1,因为它选择了“}”
【问题讨论】:
-
注释后去掉换行符的条件是什么?
-
如果下一行只有空行,则应删除换行符。
-
请尝试
Regex.Replace(s, @"(?m)(?<=(?<!\\)(?:\\{2})*)%.*(?:\r?\n(?!\r?$))?", "")(在$之前忘记了\r?) -
它的工作,你能添加它,以便我可以选择它作为答案。 (可选)如果你能把它的工作原理放在一些 cmet 上,因为我不明白
-
请看下面的解释,现在清楚了吗?请告知尚不清楚的地方。