为什么\ d *匹配位置?

时间:2013-10-04 10:03:32

标签: regex

说我有字符串'this is an example',我尝试将其与/\d*/匹配,我的假设是整个字符串匹配,但我收到的唯一匹配是位置(在{{之前) 1}},在tt之间,等等。

为什么会这样?

3 个答案:

答案 0 :(得分:3)

\d表示“任何数字”,*表示“零或更多”。

所以在这种情况下,它匹配正则表达式中的每个位置,因为它基本上是“不匹配,或者如果有某些数字则为数字”。

我不确定为什么你会认为\d*会匹配一串非数字......

答案 1 :(得分:0)

\d是数字的占位符(无法与字母匹配)。你要么应该使用\D,要么想要表达不同的东西。

答案 2 :(得分:0)

因为,在“这是一个例子”

  • 在“t”之前有0位或更多位数
  • 在“t”和“h”之间有0位或更多位
  • 在“h”和“i”之间有0位或更多位

得到了照片?