需要Javascript正则表达式替换以将某些单词包装为<;a、 ..>;
我们有一个数据库,其中每个表名都以WW开头。 我想在网页上显示SQL,但要用链接包装每个表名。 例如:需要Javascript正则表达式替换以将某些单词包装为<;a、 ..>;,javascript,regex,replace,Javascript,Regex,Replace,我们有一个数据库,其中每个表名都以WW开头。 我想在网页上显示SQL,但要用链接包装每个表名。 例如: "select * from wwx_something where ..." 应转化为: "select * from <a href='/table/wwx_something/'>wwx_something</a> where ..." “选择*从何处…” 当然,可能有几个表,并且不应该区分大小写 我需要一个javascript正则表达式解决方案…我似乎无法
"select * from wwx_something where ..."
应转化为:
"select * from <a href='/table/wwx_something/'>wwx_something</a> where ..."
“选择*从何处…”
当然,可能有几个表,并且不应该区分大小写
我需要一个javascript正则表达式解决方案…我似乎无法让它工作。使用单个解决方案:
var re=/(FROM | JOIN)\s+(WW\s+)/gi;
替换(关于“$1”);
请注意,我还暂时支持诸如“从wwa选择*加入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);
var re=/(FROM | JOIN)\s+(WW\s+)/gi;
功能更改(s、p1、p2){
返回p1+“”;
}
替换(re,change);
PS:IMHO最好在比赛中加入FROM/JOIN,因为这样你可以更好地避开与表名无关的迷路“ww”。。。加入一点上下文总是有助于消除歧义。dupe:是的,这更像是这样!(但我只需要一个组,不需要匹配(FROM | JOIN))。(我在替换字符串中没有使用“$1”,因为我认为我需要“\1”)还有一件事……我可以将其中一个$1转换为小写吗?(生成的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);