如何匹配正则表达式中的组?

时间:2014-05-14 00:50:05

标签: java regex regex-lookarounds regex-greedy

我要运行的文本regex-

2012-01-13 11:13:57 57 12.11.31.34 301 TCP_NC_MISS

当我运行正则表达式(?<date>[^ ]+)时,它匹配日期就好了。当我运行正则表达式(?i)^[^ ]* (?P<time>[^ ]+)时,它与时间匹配就好了。

但是当我将我的两个正则表达式组合为(?<date>[^ ]+)(?i)^[^ ]* (?P<time>[^ ]+)时,我没有完成任何分组。我应该如何修复它以便我可以得到两个组 - 日期和时间?

请注意,我的文字输入实际上更多,我还有很多其他分组

2 个答案:

答案 0 :(得分:0)

试试这个:(?<date>) (?P<time>[^ ]+)并获取第一个和第三个结果。

答案 1 :(得分:0)

日期,正则表达式中没有时间,

你应该解析这个字符串的日期和时间。

([0-9]{4}-[0-9]{2}-[0-9]{2})\s([0-9]{2}:[0-9]{2}:[0-9]{2})

第一组是日期,第二组是时间。

例如,link