考虑以下字符串:
20 mins
我想用PHP创建一个RegularExpression,它能够使用preg_match()
找到这样的字符串。表达式应具有足够的动态性,以便识别前面数值的非复数和更多选项。例如,以下示例也应该匹配:
1 min
0.5 mins
999 mins
我尝试过以下操作,但没有执行:
(^|'b)[0-99999*]'/b'min[s]?'b
您可以使用以下模式:
'b[0-9]+(?:'.[0-9]+)?'smins?'b
注意:用's+
替换's
时,数字和"分钟"之间可以有多个空格
注2:字符类是一个有字符的袋子,写[0-99999*]
没有意义。请参阅手册。
此模式:
'b'd+(?:'.'d+)? mins?'b
它应该匹配你想要的所有情况,包括这些:
•1 min
•0.5 mins
•999 mins
•0.51213123 mins
•2352352.51213123 mins