如何删除以非数字开头且后跟短划线的数字,但保留前面的非数字字符?
RegExp: /[^\D]4\-/
String: http://localhost/images/4-6-.png
Remove: 4-
应移除4-
,它应该保留前面的/
或-
这样可行:/4\-/
但它也会删除14-
或44-
http://jsfiddle.net/flackend/8s9X9/2/
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);
答案 0 :(得分:77)
您需要[\D]
或[^\d]
,而不是[^\D]
。正则表达式区分大小写,\d
匹配数字,\D
匹配除数字之外的任何内容。