Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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正则表达式按顺序替换数字_Javascript_Regex - Fatal编程技术网

Javascript正则表达式按顺序替换数字

Javascript正则表达式按顺序替换数字,javascript,regex,Javascript,Regex,我试图用字符X替换字符串中的数字,该字符通过替换每个单独的数字非常有效 这是代码: let htmlStr = initialString.replace(/[0-9]/g, "X"); 因此,在initialString=p3d8的情况下,输出将是pXdX 目的是用一个X代替一个数字序列,而不是序列中的每个数字。例如: 如果initialString=p348,使用上述代码,则输出为pXXX。如何使其为pX-为整个数字序列设置一个X 这可以通过正则表达式实现吗 欢迎任何帮助试试看 设ht

我试图用字符X替换字符串中的数字,该字符通过替换每个单独的数字非常有效

这是代码:

 let htmlStr = initialString.replace(/[0-9]/g, "X");
因此,在initialString=p3d8的情况下,输出将是pXdX

目的是用一个X代替一个数字序列,而不是序列中的每个数字。例如:

如果initialString=p348,使用上述代码,则输出为pXXX。如何使其为pX-为整个数字序列设置一个X

这可以通过正则表达式实现吗

欢迎任何帮助

试试看

设htmlStr=p348。替换/[0-9]+/g,X; 设htmlStr2=p348ad3344dds.replace/[0-9]+/g,X; 设htmlStr3=p348abc64d.replace/\d+/g,X; console.logp348=>,htmlStr; console.logp348ad3344dds=>,htmlStr2; console.logp348abc64d=>,htmlStr3 您可以在[0-9]之后使用+,它将匹配任何数字而不是数字的0。检查更多信息

让initialString=p345; 让htmlStr=initialString.replace/[0-9]+/g,X; console.loghtmlStr 使用\d标记匹配任何与+组合的数字,以匹配一个或多个。用全局修饰符g结束正则表达式将使正则表达式查找所有匹配项,而不会在第一个匹配项上停止

下面是一个使用正则表达式的好方法

const maskNumbers=str=>str.replace/\d+/g,'X';
控制台。logmaskNumbers'abc123def4gh56';[0-9]之后添加+。您应该阅读一本regexp教程,这是最基本的模式之一。如果您确实编辑了您的问题或答案,但对您无效,请发表评论并保持社区更新。它将匹配任意数量的问题。更准确地说,至少应该是这样one@Code你是什么意思?+代表一个或多个。任何值也可以是零