gpt4 book ai didi

JavaScript 正则表达式 dotall 和 global 标志

转载 作者:行者123 更新时间:2023-11-28 14:18:06 25 4
gpt4 key购买 nike

我有一个像这样的字符串:

#a
b

#c
d

我想将其分成以 # 开头的部分:

#a
b

#c
d

我尝试使用正则表达式执行此操作,但发现无法正常工作。

我认为以下方法可行:

var test='#a\nb\n#c\nd';
var re=/#.*?/gs;
var match=test.match(re);
alert(match.length);
alert(match);

也就是说,s 修饰符通过换行符进行匹配,而 g 修饰符则选取多个实例。 ? 惰性量词应该阻止 * 走得太远。

但是,我发现当我只使用 s 时,它只会到达行尾。

显然,我对正则表达式或 match() 方法有些地方没有了解。

顺便说一句,我知道 s 只是 JavaScript 最近添加的内容,但我在 Electron 工作,它很容易使用。

最佳答案

正则表达式对于这项工作来说太多了。使用内置字符串函数。

var str = `#a
b

#c
d`;

var chunks = str.split("\n\n");

console.log(chunks);

关于JavaScript 正则表达式 dotall 和 global 标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56580099/

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