正则表达式,包括未使用的数字

时间:2018-10-25 15:00:49

标签: javascript regex

我正在尝试创建一个表达式,以收集除数字和字符*之外的任何东西。我尝试使用表达式\D[^*],但不知何故,它检索的是空格后的第一个数字。我使用字符串1234 1234 1234 ****尝试了此表达式,匹配项为:“ 1”,“ 1”。谁能告诉我为什么表达式会收集带有空格的数字?

谢谢。

2 个答案:

答案 0 :(得分:2)

您的正则表达式('\D[^*]')将匹配一个空格(不是数字),然后是一个数字(不是星号'*')。

您可以做几件事,最简单的方法是在字符组中包含'\ d',这样就可以了,因为'\d''*'都被排除了:

/[^\d*]/g

现在,在您的示例中,它将仅与Spaces匹配。

答案 1 :(得分:1)

正则表达式中的方括号是一个集合,而带有^的方括号表示不在集合中。 \ d也应放在方括号内:

char x;
cin >> x;
while(cin.peek() != '\n')
   cin.ignore();

https://www.biostars.org/p/339950/