JavaScript正则表达式:非数字字符 [英] JavaScript Regular Expression: Non-Digit Character

查看:76
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆