帮助用正则表达式替换文本

时间:2011-06-10 04:51:07

标签: javascript regex

我在名为build.xml的文件中有以下文字:

component.rollup=true
component.rollup.modules.buildfiles=io-base.xml, io-form.xml, io-xdr.xml
component.rollup_dir=/base

我希望它在其中添加一个文件,因此它将成为:

component.rollup=true
component.rollup.modules.buildfiles=io-base.xml, io-form.xml, io-xdr.xml, io-extended.xml
component.rollup_dir=/base

我怎样才能使用正则表达式?

我正在使用javascript。

谢谢!

编辑:

忘了告诉你这些文件不是静态的,它们可能会改变。仅

component.rollup.modules.buildfiles=

将永远在那里。

2 个答案:

答案 0 :(得分:2)

假设您已经阅读了文件的内容:

fileContents.replace(
  /^(component\.rollup\.modules\.buildfiles\s*=.*)$/m,
  '$1, io-extended.xml');

答案 1 :(得分:1)

试试这个(假设其中包含XML内容的变量称为myXmlContent):

if (!myXmlContent.match(/^component\.rollup\.modules\.buildfiles=.*io-extended\.xml/im) {
    myXmlContent = myXmlContent.replace(/^(component\.rollup\.modules\.buildfiles=.*)$/im, '$1, io-extended.xml');

这将确保它不会被添加两次。