我有一个像这样的字符串
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中的结果,但它并不像预期的那样。任何人都可以帮我吗?
答案 0 :(得分:4)