Regex Ant filter标记化,每行2或3个标记
我有一个文档,其中的行遵循以下模式:Regex Ant filter标记化,每行2或3个标记,regex,ant,Regex,Ant,我有一个文档,其中的行遵循以下模式: "key1", "value1", "trash1" "key2", "value2" "key3", "value3", "trash3" 我需要(一个过滤器)删除行的第三个标记(如果有的话) "key1", "value1" "key2", "value2" "key3", "value3" 我如何使用ApacheAnt做到这一点 注意:ApacheAnt不支持正则表达式中的lookaround 您可以匹配三个令牌并替换为组。 简单搜索 (“[^”]
"key1", "value1", "trash1"
"key2", "value2"
"key3", "value3", "trash3"
我需要(一个过滤器)删除行的第三个标记(如果有的话)
"key1", "value1"
"key2", "value2"
"key3", "value3"
我如何使用ApacheAnt做到这一点
注意:ApacheAnt不支持正则表达式中的lookaround
您可以匹配三个令牌并替换为组。 简单搜索
(“[^”]*?”(,“[^”]*?”(:,“[^”]*?”)
并替换为\1\2
将完成此任务
前两组被捕获,第三组是非捕获组
Apache Ant的代码如下所示:
<replaceregexp file="${src}/build.properties"
match='("[^"]*?")(, "[^"]*?")(?:, "[^"]*?")?'
replace="\1\2"
byline="true"
/>
代码片段是当前工作的结果。我找不到“在第二次出现“,”之后忽略所有内容”的解决方案