У меня возникли проблемы с написанием регулярного выражения в Java для анализа информации из файла журнала.Регулярные выражения Java с отрицательным взглядом
У меня есть строка, в которой структура «timeinstant: некоторые строки с любым символом» повторяется от 1 до N раз.
timeinstant имеет формат «dd/mm/yyyy hh: MM: ss: MMMMMM» (М - микросекунды).
Что я пытаюсь сделать, так это найти микросекунды последнего времени, содержащиеся в входящей строке.
Например, со строкой
] 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