JavaScript正则表达式:非数字字符
我如何说删除一个前面有非数字,后面有破折号的数字,但保留前面的非数字字符JavaScript正则表达式:非数字字符,javascript,regex,Javascript,Regex,我如何说删除一个前面有非数字,后面有破折号的数字,但保留前面的非数字字符 RegExp: /[^\D]4\-/ String: http://localhost/images/4-6-.png Remove: 4- 应删除4-,并保留前面的/或- 这将起作用:/4\-/ 但它也会删除14-或44- 动态代码: 静态代码: var类别\u id=4; var src='1〕http://localhost/images/4-6-.png'; var regexp=new regexp('[^\
RegExp: /[^\D]4\-/
String: http://localhost/images/4-6-.png
Remove: 4-
应删除4-
,并保留前面的/
或-
这将起作用:/4\-/
但它也会删除
14-
或44-
动态代码:
静态代码:
var类别\u id=4;
var src='1〕http://localhost/images/4-6-.png';
var regexp=new regexp('[^\\D]'+类别id+'\\\-')
$('p').append('regexp:'+regexp+'
');
$('p').append(src+'
');
src=src.replace(regexp',);
$('p')。追加(src);
您想要的是[\D]
或[^\D]
,而不是[^\D]
。Regex是区分大小写的,\d
匹配一个数字,\d
匹配除数字以外的任何东西。这是测试Regex的一个很好的地方,你是说/\D4-/
<代码>[^\D]相当于\D
。
var category_id = 4;
var src = 'http://localhost/images/4-6-.png';
var regexp = new RegExp('[^\\D]'+ category_id +'\\-')
$('p').append('regexp: '+ regexp +'<br>');
$('p').append(src +'<br>');
src = src.replace(regexp, '');
$('p').append(src);