Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.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,我需要一个生成此结果的regexp:'-10px 33px' 类似于:s.replace(?,n)如果希望只替换字符串末尾的-10,可以执行以下操作: var s = '-10px -10px'; var n = '33px'; 如果您想替换任何号码,则可以使用\d: s = s.replace(/-10px$/, n); 如果希望仅替换字符串末尾的-10,可以执行以下操作: var s = '-10px -10px'; var n = '33px'; 如果您想替换任何号码,则可以使用\d

我需要一个生成此结果的regexp:
'-10px 33px'


类似于:
s.replace(?,n)

如果希望只替换字符串末尾的
-10
,可以执行以下操作:

var s = '-10px -10px';
var n = '33px';
如果您想替换任何号码,则可以使用
\d

s = s.replace(/-10px$/, n);

如果希望仅替换字符串末尾的
-10
,可以执行以下操作:

var s = '-10px -10px';
var n = '33px';
如果您想替换任何号码,则可以使用
\d

s = s.replace(/-10px$/, n);

不使用任何正则表达式怎么样

/-?\d+px$/

不使用任何正则表达式怎么样

/-?\d+px$/

您可以使用如下函数:

s = s.substring(0, s.indexOf(" ")) + " " + n
并将其用作:

function repl(s, n, p) {
    var arr=s.split(/ /);
    arr[p] = n;
    return arr.join(' ');
}

这将第二个
-10px
替换为
33px

您可以使用如下功能:

s = s.substring(0, s.indexOf(" ")) + " " + n
并将其用作:

function repl(s, n, p) {
    var arr=s.split(/ /);
    arr[p] = n;
    return arr.join(' ');
}

这将用
33px

替换第二个
-10px
,Regex更短,可读性更强(对于那些能够阅读Regex的人来说)更短,是的。。。更具可读性?嗯,就像你说的,这要看情况而定正则表达式更短,可读性更强(对于那些能够阅读正则表达式的人来说)更短,是的。。。更具可读性?嗯,就像你说的,这要看情况而定