如何使regex检查单引号?

wljmcqd8  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(400)

我只想将单引号替换为双引号,但是当我尝试使用regex时,它也将双引号替换为两个双引号。
我曾经 ([']) 但对于双引号也返回true。
例句:当我通过->不要:它工作正常
但当我通过->不要:它没有正常工作,最终输出变成了不要
我只想把单引号转换成双引号。我该怎么做?

epggiuax

epggiuax1#

显然,“双引号”是指“双单引号”。
您可以使用以下模式:

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

找到一个没有跟在另一个单引号后面或前面的单引号(使用负lookback和负lookahead)。然后你简单地用 '' .
演示。
java示例:

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

在线试用。

相关问题