包含一个或另一个词的正则表达式

时间:2013-06-18 10:30:15

标签: regex preg-match

我需要创建一个匹配整数的表达式,后跟“seconds”或“”minutes“

我尝试了这个表达式:([0-9]+)\s+(\bseconds\b)|(\bminutes\b)

它可以正常工作几秒钟,但不是几分钟。

E.g。 “5秒”给出5秒; 而“5分钟”给出;;分钟

2 个答案:

答案 0 :(得分:70)

您错过了“OR”符号的额外一对括号。以下应该可以解决问题:

([0-9]+)\s+((\bseconds\b)|(\bminutes\b))

如果没有这些,你要么匹配一个数字,后跟秒,要么只是单词分钟

答案 1 :(得分:17)

您可以使用单个组进行秒/分钟。以下表达式可能符合您的需求:

1 6 2 7 3 8 4 9 5 0

Online demo