我需要使用Ant任务在文件中找到未转义的百分号。通常我会使用负面的环顾,但这似乎并不完全支持Ant。这是对的吗?
如果是这样,捕获这些事件的最佳方法是什么?
一些例子:
%m - 匹配
%d - 将匹配
% - 会匹配
\%m - 不匹配
\%d - 不匹配
\% - 不匹配
答案 0 :(得分:2)
Ant中的正则表达式支持通常是依赖于插件的,因此如果您正在使用java.util.regex
,那么您应该支持负面的lookbehind断言。假设你没有任何外观断言的能力,那么你能做的最好就是
([^\\]|^)(%)
修正了@TimPietzcker的表达方式。
答案 1 :(得分:1)
([^\\]|^)%[md]?
将匹配组号1中的非反斜杠字符(或字符串开头的位置);所以它通常会匹配一个比你想要匹配的角色更多的角色,但至少你可以在没有外观断言的情况下进行匹配。