我只是碰到一个正则表达式模式及其匹配的模式字符串,但是我对匹配的模式之一感到困惑

Target: .50 1.50 0.50 10.50 00.50 1.555

Pattern: (0|[1-9]\d*)\.\d\d

Matches with: (4,7:1.50)(9,12:0.50)(14,18:10.50)(21,24:0.50)(26,29:1.55)


我从模式中得出的是小数点后两位,而小数点前是一组,其中第一位是0或1到9之间的任何数字,然后是空字符串或任何数字字符串。


  我认为在最近的第二场比赛中应该为00.50。


我想念什么?

最佳答案

我认为在最近的第二场比赛中应该为00.50。
  
  我想念什么?


不,您可以将正则表达式(0|[1-9]\d*)\.的这一部分改写为(0\.|[1-9]\d*\.),因此它只能接受


一个0.


要么


[1-9]\d*.


如果您希望在点使用之前允许许多零

(0+|[1-9]\d*)\.\d\d
  ^--one or more zeroes

关于java - 正则表达式模式与我无法遵循的模式之一匹配?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31232898/

10-15 03:26