我在Java中编写正则表达式以解析来自日志文件的信息时遇到了一些麻烦。带有负向视图的Java正则表达式
我有一个字符串,其中结构“timeinstant:一些具有任何字符的字符串”从1到N次重复。
timeinstant格式为“dd/mm/yyyy hh:MM:ss:MMMMMM”(M为微秒)。
我想要做的是找到传入字符串中包含的最后一次timeinstant的微秒。
例如,
] 2012/04/02 16:28:51:861819: abcdefg : lwersdgsdg remote=xx.xxx.xx.xxx:yyy3f] accepted and identified as: John 2012/04/02 16:28:51:862987: pump: Received data on connection {John} [
我想m.find()
指向"987: pump..."
的字符串。为了得到这一点,即时通讯使用正则表达式与前瞻:
"(\\d{3}:)(?!\\d{4}/\\d{2}/\\d{2}\\s\\d{2}:\\d{2}:\\d{2}:\\d{6})"
但现在m.find()
指向819
(包含在2012/04/02 16:28:51:861819
)。
就是这样。我在开头和结尾添加了*。非常感谢你。 – Tom 2012-04-13 19:48:49