我想从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/