gpt4 book ai didi

regex - JScript 正则表达式 : start of line doesn't work?

转载 作者:可可西里 更新时间:2023-11-01 11:53:14 25 4
gpt4 key购买 nike

我想从配置文件中剪切路径:

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);

但我的代码没有找到所需的字符串。另一方面,如果我删除“脱字符”符号 (^),它会起作用。这不是解决方案,因为我想确保从真正以该词开头的行中获取数据。

更新:事实上 '\n' 对我来说真的是新行,尽管有单引号。例如

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

我做错了什么?

最佳答案

A ^ boundary通常锚定到整个输入字符串的开头,而不是每一行的开头。

m flag可以用来锚定在每一行:

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

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

关于regex - JScript 正则表达式 : start of line doesn't work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24213389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com