Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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中的1个replace语句和1个regex实现吗?_Javascript - Fatal编程技术网

这可以通过JavaScript中的1个replace语句和1个regex实现吗?

这可以通过JavaScript中的1个replace语句和1个regex实现吗?,javascript,Javascript,我需要删除所有出现的“-”,并在5位数字后包含“-” console.log(“12-34--5-444-4444.replace(/-/g)”).replace(/(\d{5})/,“$1-”)这是可能的,但我不推荐这样做,因为逻辑虽然简洁,但代码一眼就看不清了。您可以使用JavaScript的可变长度查找来检查-的匹配是否在字符串开头前有5位数字: console.log(“12-34--5-444-4444”)。替换(/(?我怀疑答案是“是的,可以做到”,但我担心生成的正则表达式会让人

我需要删除所有出现的“-”,并在5位数字后包含“-”

console.log(“12-34--5-444-4444.replace(/-/g)”).replace(/(\d{5})/,“$1-”)这是可能的,但我不推荐这样做,因为逻辑虽然简洁,但代码一眼就看不清了。您可以使用JavaScript的可变长度查找来检查
-
的匹配是否在字符串开头前有5位数字:


console.log(“12-34--5-444-4444”)。替换(/(?我怀疑答案是“是的,可以做到”,但我担心生成的正则表达式会让人更难解析和理解,而提供的原始代码非常简单,很可能执行得足够好。我不这么认为。您可以使用一个函数作为替换,在单个正则表达式中进行多个替换,但它无法根据早期替换的结果进行操作。可以这样做,但在我看来这很难看,最好使用正常循环而不是替换:,我认为你拥有的是fineNick Parsons,如果没有“-”,这不起作用。这只在第5位数字后已经有一个
-
时起作用。如果没有“-”,这不起作用-'.