【问题标题】:JavaScript Regular Expression: Non-Digit CharacterJavaScript 正则表达式:非数字字符
【发布时间】:2012-02-07 21:19:59
【问题描述】:

我怎么说删除前面是非数字后跟破折号的数字,但保留前面的非数字字符?

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);

【问题讨论】:

  • 这是一个测试正则表达式的好地方gskinner.com/RegExr
  • 你的意思是/\D4-/[^\D] 等价于 \d

标签: javascript regex


【解决方案1】:

您想要[\D][^\d],但不是[^\D]。正则表达式区分大小写,\d 匹配数字,\D 匹配除数字以外的任何内容。

【讨论】:

    猜你喜欢
    • 2011-02-03
    • 2013-01-06
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 2013-02-19
    • 2010-10-10
    • 1970-01-01
    相关资源
    最近更新 更多