1

假设我有字符串 ' this is an example' 并尝试将其与 匹配/\d*/,我的假设是整个字符串都会匹配,但我收到的唯一匹配是位置(在 之前t,在tand之间h等)。

为什么会这样?

4

3 回答 3

3

\d意思是“任何数字”,*意思是“零个或多个”。

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

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

于 2013-10-04T10:05:26.453 回答
0

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

于 2013-10-04T10:06:44.963 回答
0

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

  • 在“t”之前有 0 个或多个数字
  • 在 "t" 和 "h" 之间有 0 个或多个数字
  • 在 "h" 和 "i" 之间有 0 个或多个数字

有图片吗?

于 2013-10-04T11:09:12.607 回答