Rob*_*ert 1 regex ant file-io regex-negation
我想创建一个ant目标,它可以替换不以定义模式开头的文件(或更多)的内容.有没有使用ant和replaceregexp的解决方案?或者替代这个?例:
我想将foo.txt的文本更改为:"这只是foo"
可能是一个用捕获来制作合适的正则表达式的情况.
这个似乎适用于你给出的例子.
<property name="prefix" value="this " />
<replaceregexp flags="s" match="^(${prefix})?(.*)" replace="${prefix}\2">
<fileset dir="files" />
</replaceregexp>
Run Code Online (Sandbox Code Playgroud)
files目录中的所有文件.this是存储在属性中的,因为我们需要在两个地方提及它.flags="s"设置确保我们将文件视为单个字符串以进行匹配(而不是匹配每一行).\1- 将其丢弃.\2.\2.您可能会认为它总是添加前缀,但是如果它已经存在则取消前缀 ...除了replaceregexp任务不会写入文件,除非它与现有文件不同.