正则表达式匹配以复数形式开头的数字

时间:2013-11-25 13:22:09

标签: php regex

考虑以下字符串:

20 mins

我想在PHP中创建一个能够使用preg_match()找到这样一个字符串的RegularExpression。表达式应该足够动态,以便它能够识别前面数值的非复数和更多选项。例如,还应匹配以下示例:

  • 1 min
  • 0.5 mins
  • 999 mins

我尝试了以下内容,但它没有执行:

(^|\b)[0-99999*]\/b\min[s]?\b

2 个答案:

答案 0 :(得分:3)

你可以使用这种模式:

\b[0-9]+(?:\.[0-9]+)?\smins?\b

注意:您可以在数字和“分钟”之间留出多个空格,以\s替换\s+

note2:角色类是一个包含字符的包,写[0-99999*]没有任何意义。 See the manual

答案 1 :(得分:0)

这种模式:

\b\d+(?:\.\d+)? mins?\b

它应匹配您想要的所有情况,包括:

•1 min
•0.5 mins
•999 mins
•0.51213123 mins
•2352352.51213123 mins