2012-07-23 101 views
1

我有检查的时间格式HHMM避免在正则表达式分组

([0-1][0-9]|[2][0-3])([0-5][0-9]) 

这完美的作品,但现在我面临的一个问题,我的应用程序下面的正则表达式。它要求上面的表达式的结果只返回一个组中的时间,而不是两个。是否有可能捆绑正则表达式的一部分而不分组?

在此先感谢...

回答

5

是,使用非捕获括号:

(?:[01][0-9]|2[0-3])(?:[0-5][0-9]) 

当然你也可以在封闭的捕获组的正则表达式所有,如果您的应用程序至少需要一个组。

+0

如果我们使用'\ d'而不是'[0-9]' – diEcho 2012-07-23 08:23:15

+1

@diEcho:如果使用正则表达式引擎,它可能并不一样。例如,在.NET中,'\ d'也匹配'3' ... – 2012-07-23 08:28:56