仅当它在正则表达式Javascript中的出现次数准确时才替换
我有另一个正则表达式问题,似乎在中所述的不起作用,可能我遗漏了一些东西。这是我的代码片段仅当它在正则表达式Javascript中的出现次数准确时才替换,javascript,regex,url,Javascript,Regex,Url,我有另一个正则表达式问题,似乎在中所述的不起作用,可能我遗漏了一些东西。这是我的代码片段 var-uri=http://127.0.0.1:7777/users/56e8203d'; var replaceUri=uri.replace(/\/(\w+{8}$/,''); log(replaceUri)您的正则表达式/\/(\w+{8}$/有一个问题:嵌套的量词。您正在匹配1个或多个字母数字(\w+)8次({8})。请注意,量词应用于左侧的相邻构造:单个字符、字符类、速记字符类或分组。(请注意
var-uri=http://127.0.0.1:7777/users/56e8203d';
var replaceUri=uri.replace(/\/(\w+{8}$/,'');
log(replaceUri)
您的正则表达式/\/(\w+{8}$/
有一个问题:嵌套的量词。您正在匹配1个或多个字母数字(\w+
)8次({8}
)。请注意,量词应用于左侧的相邻构造:单个字符、字符类、速记字符类或分组。(请注意,不能将量词放在lookarounds或字符串的开头)
要仅匹配/
之后字符串末尾的8个字母数字,请使用
\/\w{8}$
请参见下面的演示:
var-uri=http://127.0.0.1:7777/users/56e8203d';
var replaceUri=uri.replace(/\/\w{8}$/,“”);
log(replaceUri)
(\w+{8}
没有什么意义,因为您要将1个或多个字母数字匹配8次。我猜你在寻找uri.replace(/\/\w{8}$/,'')代码>@Stribizev绝对正确。您的正则表达式有点奇怪。请注意,要匹配字符串末尾的8个字母数字字符,并且只有当有8个而不是9个时,才可以使用单词边界:\b\w{8}$
。嗨,Stribizev!这将是一个很大的帮助!我使用了上面的代码片段,删除了量词和+:D