gpt4 book ai didi

javascript - 正则表达式将单词与条件匹配

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:44:33 24 4
gpt4 key购买 nike

我有一个这样的字符串

var msg = "ATEAM-3121 ATEAM-31 123 ATEAM-32 #finish \n ATEAM-3211 \n ATEAM-51 ATEAM-52 ATEAM-53 12345677 #finish ATEAM-1000";

在上面的字符串中,对于每一行,我想在#finish 标签之前匹配匹配 ATEAM-[0-9]* 的标签。如果任何行没有#finish,则应忽略所有 ATEAM 标记。

这是有效的非正则表达式解决方案

msg = msg.split("\n");
var tickets = [];
msg.forEach(function(val) {
var ticks = val.split(' ');
for(var i = ticks.indexOf('#finish'); i >= 0; i-- ) {
if(ticks[i].match(/^ATEAM-.*$/)) {
tickets.push(ticks[i]);
}
}
});
console.log(tickets);

但想将其转换为 Regex 解决方案,这就是我尝试过的

msg.match(/(ATEAM-[0-9]*|\#finish)/g);

但它给我的结果就像在这个 fiddle 中,但它并不像预期的那样。谁能帮我解决这个问题?

最佳答案

ATEAM-[0-9]+(?=.*?#finish)

您可以使用 lookahead 执行此操作。请参阅演示。

https://regex101.com/r/uF4oY4/88

关于javascript - 正则表达式将单词与条件匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32116480/

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