HPCC ECL REGEX外观背靠背值

时间:2016-07-28 21:47:04

标签: regex regex-lookarounds negative-lookahead negative-lookbehind hpcc-ecl

我正在使用此处定义的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命令中不删除!〜的组合。

奖金积分如果你能告诉我怎么做!〜!在一个命令中工作。

谢谢!

1 个答案:

答案 0 :(得分:1)

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

(!~)|[!~]

并替换为$1反向引用。请参阅regex demo

<强>详情:

  • (!~) - 匹配并捕获到第1组 !~ 序列字符
  • | - 或
  • [!~] - 一个!~字符

$1反向引用将组1中存储的值重新插入到结果字符串中。