Java 如何在正则表达式中匹配组?
要在其上运行正则表达式的文本-Java 如何在正则表达式中匹配组?,java,regex,regex-lookarounds,regex-greedy,Java,Regex,Regex Lookarounds,Regex Greedy,要在其上运行正则表达式的文本- 2012-01-13 11:13:57 57 12.11.31.34 301 TCP_NC_MISS 当我运行regex(?[^]+)时,它与日期匹配得很好。当我运行regex(?I)^[^]*(?P[^]+)时,它与时间匹配得很好 但是当我将两个正则表达式组合为(?[^]+)(?I)^[^]*(?p[^]+)时,我没有完成任何分组。我应该如何着手解决它,以便我可以得到两组-日期和时间 请注意,我的文本输入实际上要多得多,我将有许多其他分组尝试以下方法:(?)(
2012-01-13 11:13:57 57 12.11.31.34 301 TCP_NC_MISS
当我运行regex(?[^]+)
时,它与日期匹配得很好。当我运行regex(?I)^[^]*(?P[^]+)
时,它与时间匹配得很好
但是当我将两个正则表达式组合为(?[^]+)(?I)^[^]*(?p[^]+)
时,我没有完成任何分组。我应该如何着手解决它,以便我可以得到两组-日期和时间
请注意,我的文本输入实际上要多得多,我将有许多其他分组尝试以下方法:
(?)(?p[^]+)
并获取第一个和第三个结果。日期,时间在regex中不算什么
您应该分析这个字符串的日期、时间
([0-9]{4}-[0-9]{2}-[0-9]{2})\s([0-9]{2}:[0-9]{2}:[0-9]{2})
第一组是日期,第二组是时间
例如,这如果您的文本输入实际上更多,最终您将得到错误匹配。这里使用的不是正则表达式。