В настоящее время я пытаюсь написать программу java для извлечения сообщений из файла ps pllq.Использование регулярных выражений для извлечения сообщений из исходного кода
Общий формат сообщения о упак будет,
Тип 01;
Error_Msg.General_Message(pkg_name_,'INVALIDVALUE: The value 1,2 and 3 that you have entered is invalid.');
Но в некоторых случаях сообщение может быть следующим,
Тип 02:
Error_Msg.General_Message(pkg_name_,'INVALIDVALUE: The value :p you have entered is invalid.', Some_Pkg.Some_Function(parameter1, parameter2));
Примечание: р является переменной связывания
Иногда сообщения могут быть объединены с помощью '||' в plslql,
EX:
Error_Msg.General_Message(pkg_name_, 'This is a multiline'||'
message');
Мне нужно извлечь только текстовое сообщение, для примера в Type 01 текст, который я смотрю на это
«InvalidValue: значения 1,2 и 3, которые вы ввели, являются недопустимыми ».
Я пытался с этим рисунком,
\\s*(\\w+):\\s*[,-:\\w*\\s*\"\\.\\|\\'\\(\\)\\\\]+
Но это будет возвращать неверный результат во втором типе сообщения.
Может ли кто-нибудь помочь мне с этим?
Спасибо!
может быть поиск по ERROR_MSG. string, затем найдите первый ', затем перейдите в конец строки и отмените поиск первого'. возьмите все в betweem – Randy