使用正则表达式替换并保存结果

Replace using regexp and conserving the result

当 ' 介于 2 个字母之间时,我想将每个 ' 替换为 - :

[a-zA-Z]'[a-zA-Z] 经过 [a-zA-Z]-[a-zA-Z]

示例: "N'Guyen" => "N-Guyen"

但我得到“-uyen”

试试这个:

查找内容:([a-zA-Z])'([a-zA-Z])

替换为:-.

</code>和<code>分别指的是捕获组([a-zA-Z])([a-zA-Z])

最好只替换一个字符,不要替换前后的所有单词。因此,您需要使用正向后向和前向断言:(?<=[a-zA-Z])'(?=[a-zA-Z]) 替换为 -

演示:https://regex101.com/r/kU0xV0/1