Java 如何知道在使用正则表达式时替换了哪个字符

Java 如何知道在使用正则表达式时替换了哪个字符,java,regex,Java,Regex,问题是我想在非字母数字非空白字符后面附加一个转义字符。i、 e String string = "Tĥïŝ ĩš â fůňķŷ Šťŕĭńġs not cool \"oops" ; string = string.replaceAll("[^a-zA-Z0-9 ]+", ... ); 那么replaceAll方法中的第二个参数应该是什么呢? 或者有没有其他很酷的方法(我不想硬编码)如果这是Java(我添加了相关的标记),那么您可以这样做 " -> \" ' ->

问题是我想在非字母数字非空白字符后面附加一个转义字符。i、 e

String string = "Tĥïŝ ĩš â fůňķŷ Šťŕĭńġs not cool \"oops" ;    
    string = string.replaceAll("[^a-zA-Z0-9 ]+", ... );
那么
replaceAll
方法中的第二个参数应该是什么呢? 或者有没有其他很酷的方法(我不想硬编码)

如果这是Java(我添加了相关的标记),那么您可以这样做

" -> \" 
' -> \'.
它将用转义的对应字符替换任何非alnum/非空格字符


请注意,正则表达式没有尝试检测字符是否已转义。您还应该知道Java中的
\W
不支持区域设置,因此它也将匹配Unicode字母。

正则表达式的哪种特殊风格以及使用哪种编程语言?您的目标是什么?是否要转义正则表达式元字符?你认为什么是非字母数字?
String resultString = subjectString.replaceAll("[\\W\\S]", "\\\\$0");