Ответ 1
Вы хотите [\D]
или [^\d]
, но не [^\d]
. Regex чувствителен к регистру, \d
соответствует цифре, а \d
соответствует чему-либо, кроме цифры.
Как я могу удалить число, которому предшествует нецифровая цифра, а затем тире, но оставить предыдущий символ без цифры?
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]
. Regex чувствителен к регистру, \d
соответствует цифре, а \d
соответствует чему-либо, кроме цифры.