在 PDI KETTLE 中使用正则表达式删除字符串的一部分

Delete portions of a string using regex in PDI KETTLE

我正在尝试使用 PDI KETTLE 中的 "Replace in string" 步骤清理字符串。

输入字符串如下所示:

<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.

寻找类似的问题,我试过这个Replace string using regular expression in KETTLE

在 "Replace in string" 步骤中,我使用 RegEx,搜索 (<(.*)>) 并且没有要替换的内容。

但问题是它删除了第一个“<”和最后一个“>”字符之间的所有内容,输出为:

CCC.

我应该如何构建 RegEx 表达式?

问题是您的 (.*) 太贪心了,因此它会捕捉到最后 > 之前的所有内容。

要使其变得懒惰,您可以:

  • 使用 (<(.*?)>)
  • 让你的量词变得懒惰
  • 明确设置要捕获的字符class,(<([^>]*)>)

两者都应该工作并作为输出产生

 AAA   BBB  CCC.