我正在使用以下reg ex从字符串中删除数字,但它也会从负数中删除( - )。有没有人知道一个reg ex,那就是数字和( - )。感谢。
var string = "jdhjhjcdhj-200";
alert(string.replace(/[^\d]/g,""));
答案 0 :(得分:1)
只需在正则表达式中添加-
:
var string = "jdhjhjcdhj-200";
alert(string.replace(/[^\d-]/g,""));
它会为您提供-200
答案 1 :(得分:1)
将短划线包含在排除的符号列表中:
string.replace(/[^\d\-]/g,"")
答案 2 :(得分:1)
match 方法返回匹配模式的数组:
var string = "jdhj-hjc-dhj-200";
alert(string.match(/-?\d+/)[0]);
答案 3 :(得分:1)
正则表达式为(?!-?\d).
var string = "j-d-h-j-hjcdhj-200def-";
alert(string.replace(/(?!-?\d)./g,""));
请注意,这会剥离abc-def-123
并将其设为-123
在此测试:http://gskinner.com/RegExr/?2uvds
它使用负向前瞻来“忽略”减去后跟一个数字和数字。
如果要删除多行文字,您应该使用[\s\S]
代替.
(请在此处阅读http://www.regular-expressions.info/dot.html)