正则expression式包含一个字或另一个字
我需要创build一个匹配整数的expression式,后跟“秒”或“”分钟“
我试过这个expression式: ([0-9]+)\s+(\bseconds\b)|(\bminutes\b)
它可以在几秒钟内正常工作,但不会分钟。
例如“5秒”给出5秒; 而“5分钟”给出;分钟
你只是错过了一个额外的“OR”符号的括号。 以下应该做的伎俩:
([0-9]+)\s+((\bseconds\b)|(\bminutes\b))
没有那些你要么匹配一个数字,其次是秒或只是分钟
您可以使用一个组/秒/分钟。 以下expression式可能适合您的需求:
([0-9]+)\s*(seconds|minutes)
在线演示
- 如何在Rust中匹配string文字?
- 我怎样才能添加一个string到Vim每行的结尾?
- select列中包含像“hsa ..”这样的string的行(部分string匹配)
- 检查一个string是否与JS中的正则expression式匹配
- 在Perl中,是否有内置的方式来比较两个数组是否相等?
- 如何根据值testing多个variables?
- Perl中的正则expression式组:如何从正则expression式组中捕获元素,匹配来自string的未知数/多个/variables出现的元素?
- PHP正则expression式:没有find结尾分隔符“^”
- 有没有一个正则expression式的味道,让我可以计算*和+操作符匹配的重复次数?