如何删除前面为非数字且后跟破折号的数字,但保留前面的非数字字符?
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);
最佳答案
你想要 [\D]
或 [^\d]
,而不是 [^\D]
。正则表达式区分大小写,\d
匹配数字,\D
匹配除数字以外的任何内容。
关于JavaScript 正则表达式 : Non-Digit Character,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9184106/