JavaScript正则表达式:非数字字符 [英] JavaScript Regular Expression: Non-Digit Character
本文介绍了JavaScript正则表达式:非数字字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我怎么说说删除数字后加非数字,然后加破折号,但保留前一个非数字字符?
How do I say remove a number preceded by a non-digit and followed by a dash, but leave the preceding non-digit character?
RegExp: /[^\D]4\-/
String: http://localhost/images/4-6-.png
Remove: 4-
应删除 4-
,并且应保留前面的/
或-
The 4-
should be removed and it should leave the preceding /
or -
这将起作用:/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
匹配除数字之外的任何内容.
You want [\D]
or [^\d]
, but not [^\D]
. Regex is case-sensitive, \d
matches a digit, and \D
matches anything but a digit.
这篇关于JavaScript正则表达式:非数字字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文