如何编写一个匹配任何数字的正则表达式

时间:2018-04-30 09:44:26

标签: javascript regex

我正在尝试创建一个与HTML输入一起使用的angular指令来过滤掉无数字字符

这是我正在使用的正则表达式:

inputValue.replace(/[^0-9\-\.]/g, "").replace(/\.(\.)/g, '$1');

然而,这个正则表达式不包括这些情况:

  • --5
  • 5.5.6
  • -5-5

2 个答案:

答案 0 :(得分:0)

如果我没错,这很简单。^^

txn@itemInfo$labels <- gsub("\"","",txn@itemInfo$labels)

rules <- apriori(txn,
                 parameter = list(support=.001,
                                  confidence=.5,
                                  minlen=2,
                                  target='rules' # to mine for rules
                 ))
>summary(rules)

... etc

> inspect(sort(rules, by='lift', decreasing = T)[1:5])
Error in slot(x, s)[i] : subscript out of bounds

\d 来自\d的每个数字。您可以在https://regex101.com上非常简单地测试我们的RegEx,而无需编写任何javascript代码来测试它。

编辑:

您可能需要向[0-9]添加*

\d

\d* 是贪婪的选择器,它选择之前的所有类型。

答案 1 :(得分:0)

在你的正则表达式中,你使用一个否定的字符类[^0-9\-\.],它不匹配数字0-9,-.,所以你保留这些匹配。

如果您想匹配除数字之外的任何内容,您可以使用[^0-9]\D来匹配任何非数字的字符,并将其替换为空值。

&#13;
&#13;
let inputValue = `--5
5.5.6
-5-5
!@#$%# $%@% $%435 452545`;
inputValue = inputValue.replace(/\D/g, "");
console.log(inputValue);
&#13;
&#13;
&#13;