HPCC ECL REGEX 环视背靠背值

HPCC ECL REGEX lookaround back-to-back values

我正在使用此处定义的 REGEX 库 http://userguide.icu-project.org/strings/regexp

话虽这么说,但我有一个具体问题,我想使用正则表达式来更正。

Input := '!Tim !~ Dan~'; 
Output := Tim !~ Dan

REGEXREPLACE('((?<![!])~)' ,Input,' '); //Results in : !Tim !~ Dan
REGEXREPLACE('((?![~])!)|((?<![!])~)',Input,' '); //Results in : Tim ~ Dan

这个语句是怎么引起的!下面的 ~ 要删除吗?

如何删除所有!和 ~ 而不是在单个 Regex 命令中删除 !~ 的组合。

如果你能告诉我怎么做就加分!~!在一个命令中工作。

谢谢!!

您可以使用以下正则表达式:

(!~)|[!~]

并替换为 </code> 反向引用。见 <a href="https://regex101.com/r/hQ5uA6/1" rel="nofollow">regex demo</a>.</p> <p><strong>详情</strong>:</p> <ul> <li><code>(!~) - 匹配 并捕获到第 1 组 一个 !~ 字符序列

  • | - 或
  • [!~] - 单个 !~ 字符
  • 反向引用将存储在组 1 中的值重新插入到结果字符串中。