如何使正则表达式检查单引号?

How to make regex to check single quotes?

我只想将单引号替换为双引号,但是当我尝试使用正则表达式时,它还会将双引号替换为两个双引号。

我使用 ([']) 作为正则表达式,但它 returns 也适用于双引号。

我只想将单引号转换为双引号。我该怎么做?

显然,“双引号”是指“双单引号”。

您可以使用以下模式:

(?<!')'(?!')

查找后面或前面没有另一个单引号的单引号(使用负向后视和负向前视)。然后你只需将它替换为 ''.

Demo.

Java 示例:

String s = "don't, don''t";
String output = s.replaceAll("(?<!')'(?!')", "''");
System.out.println(output);   // Prints "dont''t don''t"

Try it online.