复杂的正则表达式单引号替换

时间:2014-07-03 12:50:19

标签: regex

我有一组字符串,我想用双引号替换单引号。但是,有时要替换的单引号是在行的末尾,有时单引号应该被替换,因为它跟随S占有。

示例:

  

The Miss You'这首歌在The Rolling Stones的专辑“Voodoo Lounge”中出现

应该是

  

歌曲“Miss you”在The Rolling Stones的专辑“Voodoo Lounge”中出现。

谢谢你的帮助:)

1 个答案:

答案 0 :(得分:1)

正则表达式只能处理原始文本。它无法分辨语境或语法。因此,建立一个能够正确识别非占有s个字符的正则表达式几乎是不可能的。

但是,如果您想忽略此类情况并与其他情况相匹配,则可以将以下正则表达式与lookaround assertions一起使用:

(?<!s)'(?!s\b)

请注意,这与Blurred LinesDangerous等有效案例不符。

Working demo