JavaScript 正则表达式 : Non-Digit Character

标签 javascript regex

如何删除前面为非数字且后跟破折号的数字,但保留前面的非数字字符?

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/

相关文章:

javascript - Firefox 兼容输入过滤

python - 如何进行正则表达式检查子字符串列表是否出现在字符串之前?

java - 使用 String.match() 时出现 PatternSyntaxException

javascript - 检测 url/链接并用 img 标签替换图像并用 href 替换链接

java - 正则表达式匹配或数组搜索

javascript - Ace Editor - 多词高亮规则

javascript - 启用禁用的按钮并使用 Javascript 单击它

javascript - 为什么最后两个函数起作用,而第一个不起作用?

javascript - jpeg 的有效 base64 字符串

javascript - 在 React Native 中检测向左滑动