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任务检查行的开头_Regex_Ant - Fatal编程技术网

如何使用Ant replaceregexp任务检查行的开头

如何使用Ant replaceregexp任务检查行的开头,regex,ant,Regex,Ant,我有一个文件,我想用一个新值替换旧值。在我的文件中,我有以下内容: 我想用其他值替换myList值。为此,我在Ant中使用了replaceregexp任务。我已经为此使用了下面的代码,这将检查注释的myList //myList="a","b","c","d","e"; myList="a","b","c","d","e"; <replaceregexp file="myfilename" match="myList=(.*)" replace="myList="somevalue" /

我有一个文件,我想用一个新值替换旧值。在我的文件中,我有以下内容:

我想用其他值替换myList值。为此,我在Ant中使用了replaceregexp任务。我已经为此使用了下面的代码,这将检查注释的myList

//myList="a","b","c","d","e";
myList="a","b","c","d","e";

<replaceregexp file="myfilename" match="myList=(.*)" replace="myList="somevalue" />
我想知道如何检查线路的起点。这意味着只有当行以myList开头时,它才需要替换,而当行以//myList开头时,它就不需要替换


我该怎么做呢?

这是一个基本的正则表达式问题。有几种方法可以做到这一点,最常见的方法是使用插入符号^字符来标记行的开头,如:

<replaceregexp file="myfilename" match="^myList=(.*)" byline="true" replace="...

请注意,您需要byline=true,否则整个文件将被视为一个字符串来处理。

如果我使用^symbol,则它仅对注释行进行更改//myList=a,b,c,d,e;myList=a,b,c,d,e;在未注释的myList中,我已经给出了在e之后添加值的参数。但它会在注释的myList.Hi-Dinesh中附加新值。这可能没什么帮助,但对我来说很有效。我添加了一个关于逐行处理的注释,这可能会有所帮助。我建议的另一件事是,在重新运行之前,可能您的文件没有重置为包含初始注释行;i、 e.在您将^添加到构建文件之前,在运行Ant时对注释进行了匹配和处理。嗨,Martin,前面有一些命名约定问题,因此它对我不起作用。因为我已经修改了它,它对我很有用。谢谢:你需要保留评论行吗?我建议只使用Ant的propertyfile任务来更改属性值。这是一个groovy文件,我需要修改它。我没有解析完整的文件并继续,而是使用了replaceregexp。