Нужна помощь в извлечении выражения из журнала с использованием регулярных выражений в Java

Причиной «addPane» назначается это из-за директивы <pane>.

Директива pane делает require: '^tabs', которая помещает объект контроллера таблеток из родительской директивы в функция ссылки.

addPane присваивается this, так что функция ссылки pane может ее видеть. Затем в функции pane link addPane является просто свойством контроллера tabs, и это всего лишь tabsControllerObject.addPane. Таким образом, функция связывания указателей панели может получить доступ к объекту контроллера таблеток и, следовательно, получить доступ к методу addPane.

Надеюсь, что мои объяснения достаточно ясны. Это трудно объяснить.

2
задан Vickel 16 January 2019 в 00:17
поделиться

2 ответа

Вам не нужно использовать регулярные выражения. как насчет этого

        String x = "Retrying for error: [[\"billing\",\\{u'non_field_errors': [u'Invalid payment email provided']}\"]]";

        String c = x.replace("Retrying for error: ","");

        String g = c.substring(c.lastIndexOf('[')+1);

        String v = g.substring(0, g.indexOf(']'));

        System.out.println(v);

это печатает

u'Invalid payment email provided'

теперь ваши журналы имеют несколько экземпляров Retrying for error:? Кроме того, это

"Retrying for error: [[\"billing\",\\{u'non_field_errors': [u'Invalid payment email provided']}\"]]";

представляет одну строку в ваших журналах?

Основная идея такова: если каждая строка в вашем файле журнала имеет только один экземпляр из Retrying for error:, то вы можете легко анализировать журнал по одной строке за раз и итеративно удалять ненужные данные.

0
ответ дан AbtPst 16 January 2019 в 00:17
поделиться

Вы можете использовать следующее регулярное выражение:

Retrying for error:.*\[u'([^']+)

См. Демонстрацию регулярных выражений .

Подробности

  • Retrying for error: - литеральная подстрока
  • .* - любые 0+ символов, кроме символов разрыва строки, как можно больше
  • \[u' - подстрока [u'
  • ([^']+) - Группа захвата № 1 (значение matcher.group(1)): 1+ символов, отличных от '.

См. Демонстрацию Java :

String unescapedStr = "Retrying for error: [[\"billing\",\\{u'non_field_errors': [u'Invalid payment email provided']}\"]]";
String pattern = "Retrying for error:.*\\[u'([^']+)";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(unescapedStr);
if (m.find()) {
  System.out.println(m.group(1));
}
// => Invalid payment email provided
0
ответ дан Wiktor Stribiżew 16 January 2019 в 00:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: