1

我需要使用 Ant 任务在文件中找到未转义的百分号。通常我会使用否定的环视,但这似乎在 Ant 中并不完全支持。这个对吗?

如果是这样,捕捉这些事件的最佳方法是什么?

一些示例:
%m - 将匹配
%d - 将匹配
% - 将匹配

\%m - 不匹配
\%d - 不匹配
\% - 不匹配

4

2 回答 2

2

Ant 中的正则表达式支持通常是依赖于插件的,因此如果您正在使用,例如,java.util.regex那么您应该支持否定的后向断言。但是,假设您没有任何环视断言的能力,那么您能做的最好的就是

([^\\]|^)(%)

由@TimPietzcker 提供的更正表达。

于 2013-04-30T21:06:10.450 回答
1
([^\\]|^)%[md]?

将匹配组号 1 中的非反斜杠字符(或字符串开头的位置);所以它通常会比你实际想要匹配的多一个字符,但至少你可以在没有环视断言的情况下进行匹配。

于 2013-04-30T21:06:01.230 回答