Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要Javascript正则表达式替换以将某些单词包装为<;a、 ..>;_Javascript_Regex_Replace - Fatal编程技术网

需要Javascript正则表达式替换以将某些单词包装为<;a、 ..>;

需要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正则表达式解决方案…我似乎无法

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

"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);