1

我正在使用此处定义的 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

这个声明是什么导致的!下面的~要去掉?

我如何删除所有!和 ~ 不删除 !~ 在单个正则表达式命令中的组合。

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

谢谢!!

4

1 回答 1

1

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

(!~)|[!~]

并替换为$1反向引用。请参阅正则表达式演示

详情

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

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

于 2016-07-28T21:51:23.697 回答