Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ant replaceregexp任务:替换为精确长度_Ant - Fatal编程技术网

ant replaceregexp任务:替换为精确长度

ant replaceregexp任务:替换为精确长度,ant,Ant,我选择带有正则表达式的句子的一部分。 我将在replaceregexp任务的replace部分中使用该选定部分作为\1。 但我希望这个选定的部分将转换为20个位置 我该怎么做 示例(不是我的真实案例,而是一个非常简单的示例)-我有以下文本: Def var iThisVariable as int. 我使用以下方法: <replaceregexp file="${NMfile}" flags="ig" match="def var (\S+) as int\." replace="d

我选择带有正则表达式的句子的一部分。 我将在replaceregexp任务的replace部分中使用该选定部分作为\1。 但我希望这个选定的部分将转换为20个位置

我该怎么做

示例(不是我的真实案例,而是一个非常简单的示例)-我有以下文本:

Def var iThisVariable as int.  
我使用以下方法:

<replaceregexp file="${NMfile}" flags="ig" match="def var (\S+) as int\." replace="def var \1 as int\."/>

但是我希望保存值
“iThisVariable”
\1
在这里有20个位置,所以
“iThisVariable”


有人知道怎么做吗?

我不确定我是否理解这个问题<代码>(\S+)匹配一个或多个非空白字符。如果您还想匹配空格,可以使用
(.+)
,但最终只会得到原始字符串。您试图在该文件中实际更改什么?你想删除换行符吗?不,我想对齐我的编码。因为我的变量名没有固定的宽度,所以我想将所有变量名替换为20个位置。因此,当我有:def var ismal as int.def var ithisis size as int.我希望它变成:def var ismal as int.def var ithisis size as int.可能ANT并不是专门为这个设计的,但是当我运行我的ANT脚本来做一些其他的替换时,我也可以尝试在同一个脚本中这样做。这样的话,我只需要为我想做的所有事情运行1个脚本。mhhh,当我添加注释时,它看起来不像我想要的那样格式化。。。我不明白如何正确地格式化它(即使在看了降价页面之后)。有人能告诉我如何格式化我的评论,以便我能把问题弄清楚吗?我明白你现在在说什么。不幸的是,确定要添加到每个变量名中的空格数需要一些数学运算,而本机Ant和regex实际上无法做到这一点。即使有ant contrib的数学任务,这也将是相当困难和拜占庭式的,如果不是不可能的话。如果您真的需要将此作为Ant构建的一部分来完成,我建议您使用
任务和您选择的编程语言。