JScript的正则expression式:行首不起作用?

我想从configuration文件中删除path:

var out = '#Path to the database root'; out += '\ndatadir="C:/Program Files/MySQL/MySQL Server 5.0/Data/"'; out += '\nblah-blah-blah-blah-blah'; var re = new RegExp('^datadir="(.*)"', 'g'); var result = out.match(re); if (result == null){ WScript.Echo("datadir not found"); } WScript.Echo("datadir=" + RegExp.lastParen); 

但我的代码没有find所需的string。 另一方面,如果我删除“^符号”( ^ )它的作品。 这不是一个解决scheme,因为我想确保我从那个真正以该词开头的行抓取数据。

更新:实际上'\ n'是真正的新行,尽pipe单引号。 例如

 WScript.Echo("out=" + out); 

产生

 out=#Path to the database root datadir="C:/Program Files/MySQL/MySQL Server 5.0/Data/" blah-blah-blah-blah-blah 

我究竟做错了什么?

边界通常固定在整个输入字符串的开头,而不是每行的开始。

m标志可以用来在每一行代替:

 var re = new RegExp('^datadir="(.*)"', 'gm'); 

例如: http : //jsfiddle.net/PjLd4/