gpt4 book ai didi

javascript - 需要 Javascript Regex Replace 来用 包装某些单词

转载 作者:行者123 更新时间:2023-11-29 20:25:31 26 4
gpt4 key购买 nike

我们有一个数据库,其中每个表名都以 WW 开头。我想在网页上显示一个 SQL,但每个表名都用一个链接包裹起来。例如:

"select * from wwx_something where ..."

应该转化为:

"select * from <a href='/table/wwx_something/'>wwx_something</a> where ..."

当然可能有好几张表,不区分大小写。

我需要一个 javascript 正则表达式解决方案...我似乎无法让它工作。

最佳答案

使用单个 replace 的解决方案:

var re = /(FROM|JOIN)\s+(WW\S+)/gi;
yourText.replace(re, "$1 <a href='$2'>$2</a>");

请注意,我还暂时支持诸如“SELECT * FROM wwa JOIN wwb”之类的东西。

评论后添加:是的,您可以用自定义函数替换以大写 URL:

var re = /(FROM|JOIN)\s+(WW\S+)/gi;
function change(s, p1, p2) {
return p1 + " <a href='http://whatever/" + p2.toUpperCase() + "'>" + p2 + "</a>";
}
yourText.replace(re, change);

PS:恕我直言,最好在匹配中包含 FROM/JOIN,因为这样你就可以更好地避免与表名无关的流浪“ww”……包含一些上下文总是有助于消除歧义。

关于javascript - 需要 Javascript Regex Replace 来用 <a...> 包装某些单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1374427/

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