如何为单个hiphen角色做一个regexp_replace?

时间:2016-11-29 12:43:29

标签: regex postgresql

我想用2个hiphens替换列中的hipns。我想这样做只有当hiphen本身发生时。例如

  1. '-'应该成为'--'
  2. 'a-b'应保留为'a-b'
  3. 'a - b'应该成为a -- b
  4. 'a -'应该成为a --
  5. '- b'应该成为-- b
  6. 到目前为止,我所尝试的是select regexp_replace(column, '[[:<:]]\-[[:>:]]', '--', 'gi')。由于'a-b'变为'a--b'

    ,因此无效

    我该怎么办?

1 个答案:

答案 0 :(得分:3)

试试此正则表达式:( |^)-( |$)并替换为\1--\2

select regexp_replace(column, '( |^)-( |$)', '\1--\2', 'g')