Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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 String.replace regex未替换字符串中的“*”_Javascript_Regex - Fatal编程技术网

Javascript String.replace regex未替换字符串中的“*”

Javascript String.replace regex未替换字符串中的“*”,javascript,regex,Javascript,Regex,我有一个字符串,我正在运行一个字符串。在它上面替换,它不会从字符串中删除*字符,而是删除|字符 var s=“|*55.6”; s=s。替换(/[^0-9.]/,“”); 控制台日志如果要替换多个匹配项,请使用(/…/g): s = s.replace(/[^0-9.]+/g, "") //=> "55.6" 编辑:使用+(连续匹配多个模式)跟随您的模式将产生更少的匹配,因此使用“替换将比单独使用g标志更有效地运行。我会同时使用它们。感谢您在《在我面前》中使用此技术。 演示片段 v

我有一个字符串,我正在运行一个
字符串。在它上面替换
,它不会从字符串中删除
*
字符,而是删除
|
字符

var s=“|*55.6”;
s=s。替换(/[^0-9.]/,“”);
控制台日志如果要替换多个匹配项,请使用(
/…/g
):

s = s.replace(/[^0-9.]+/g, "") //=> "55.6"
编辑:使用
+
(连续匹配多个模式)跟随您的模式将产生更少的匹配,因此使用
替换将比单独使用
g
标志更有效地运行。我会同时使用它们。感谢您在《在我面前》中使用此技术。

演示片段
var s=“|*55.6”
s=s.替换(/[^0-9.]+/g,”)
console.log/=>“55.6”
您没有为您的正则表达式使用,这就是为什么在操作结束时替换了第一个匹配项

var s=“|*55.6”;
s=s.replace(/[^\d.]/g,”);

控制台日志这是因为replace只执行了一次。使用
g
选项替换每个匹配项

s = s.replace(/[^0-9.]/g, "");

您缺少查找一个或多个事件的
+

var s=“|*55.6”;
s=s.替换(/[^0-9.]+/,“”);
控制台日志替换字符串时需要使用a或a

var s=“|*55.6”;
s=s.替换(/[^0-9.]/g,”);
控制台日志一些答案提到了,但它仍然只会替换第一个匹配项:

console.log(“|*45.6abc.”替换(/[^0-9.]+/,”)
可能重复的