Удалить части строки с помощью регулярных выражений в PDI KETTLE - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь очистить строку с помощью шага «Заменить в строке» в PDI KETTLE.

Входная строка выглядит следующим образом:

<p class="MsoNormal" style="FONT-SIZE: 11pt; mso-ansi-language: ES"> AAA <p></p></span></p> <p class="MsoNormal" style="FONT-SIZE: 11pt; mso-ansi-language: ES"> BBB <personname w:st="on"> CCC.

Желаемый вывод будетудалите части строки между каждым символом '<' и '>', чтобы получить это:

AAA  BBB  CCC.

Ища похожие вопросы, я пытался с этим Заменить строку с помощью регулярного выражения в KETTLE

На шаге «Заменить в строке» я использую RegEx, ищу (<(. *)>) И ничего не заменяю.

Но проблема в том, что он удаляет все, что находится междупервый символ '<' и последний '>' и вывод:

CCC.

Как мне построить выражение RegEx?

1 Ответ

0 голосов
/ 13 декабря 2018

Проблема в том, что ваш (.*) жадный, поэтому он будет захватывать все до последнего >.

Чтобы сделать его ленивым, вы можете:

  • Сделайте ваш квантификатор ленивым, используя (<(.*?)>)
  • , явно задайте класс символов, которые вы хотите захватить, (<([^>]*)>)

Любой из них должен работать и выдавать в качестве вывода

 AAA   BBB  CCC.
...