2013-07-26 4 views
0

У меня есть данные xml HERE, мне нужно извлечь с помощью Splunk IFX, сгенерированный шаблон (регулярное выражение).Интерактивное полевое извлечение (регулярное выражение)

Пример Xml: <d:Message>(22/7)17:53 Accident on AYE (towards Tuas) after Jurong Port Rd Exit. Avoid lane 3.</d:Message>

У меня есть это выражение, не извлекать из слова после того, как до выхода. (?i) after (?P<wordafter>.[^\.]*?Exit)

Как этот поиск слова Только выход, как добавить другую ситуацию, такую ​​как Rd | Вход? Я пробовал (?i) after (?P<wordafter>.[^\.]*?Exit|Entrance|Rd), он не будет работать.

+1

Почти каждый язык программирования имеет синтаксический анализатор xml, и это будет, безусловно, лучшим инструментом, чем Regex. – Leri

+0

Мне нужно использовать Splunk IFX, который является регулярным выражением. –

ответ

0

Думаю, вам нужно окружить чередование (), как (?i) after (?P<wordafter>.[^\.]*?(Exit|Entrance|Rd)).

Ну, если это не нравится безымянным группам, может быть, вы можете это сделать?

(?i) after (?P<wordafter>.[^\.]*?(?P<dummy>Exit|Entrance|Rd)) 
+0

Я устал от этой ошибки и имел эту ошибку. Недопустимое регулярное выражение: нет имени извлечения в позиции 39 (т. Е. «? (Exit | Ent ...»). Ожидаемое «(? P pattern)» –

+0

@Helpme см. Обновленный вариант. –

Смежные вопросы