gpt4 book ai didi

javascript - 捕获组不能按预期工作

转载 作者:行者123 更新时间:2023-11-30 20:50:09 25 4
gpt4 key购买 nike

var content="xx<br>xxxx <br>@yyy<span class='black'></span>yyy   yyy y ";
var rgx=/(.*(<br>))(.*<span class='black'><\/span>.*?\s)/gmi;
var result = content.replace(rgx,"$3");
alert(result);

jsfiddle

我需要得到这个 ->“@yyy<span class='black'></span>yyy”,但我得到这个 ->“@yyy<span class='black'></span>yyy yyy y”。为什么?

当我应用这个正则表达式时 -> /(.*(<br>))(.*<span class='black'><\/span>.*?\s)/这似乎按预期工作并且match this -> "xx<br>xxxx <br>@yyy<span class='black'></span>yyy "。

结果我只想得到这个“@yyy<span class='black'></span>yyy”。

最佳答案

var txt = "xx<br>xxxx <br>@yyy<span class='black'></span>yyy   yyy y ";
var res = (/<br>([^<]+<span class='black'><\/span>\S+\s)/gmi.exec(txt)||'')[1];
console.log(res); // "@yyy<span class='black'></span>yyy " // or undefined if not found

回答您的“为什么我在使用 时得到 ...yyy yyy y...*?\s - 好吧,因为这正是.*?\s 的作用:
获取任何字符零次或多次,包括最后一个空格:“yyy yyy y "

关于javascript - 捕获组不能按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48268332/

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