如何使用Ant replaceregexp任务检查行的开头
我有一个文件,我想用一个新值替换旧值。在我的文件中,我有以下内容: 我想用其他值替换myList值。为此,我在Ant中使用了replaceregexp任务。我已经为此使用了下面的代码,这将检查注释的myList如何使用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="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。