Ant正则表达式任务找到未转义的百分号

时间:2013-04-30 20:53:22

标签: regex ant

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

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

一些例子:
%m - 匹配
%d - 将匹配
% - 会匹配

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

2 个答案:

答案 0 :(得分:2)

Ant中的正则表达式支持通常是依赖于插件的,因此如果您正在使用java.util.regex,那么您应该支持负面的lookbehind断言。假设你没有任何外观断言的能力,那么你能做的最好就是

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

修正了@TimPietzcker的表达方式。

答案 1 :(得分:1)

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

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