对于字符串str_in = "instance (\\w+\\s+){0,8}deleted";
,如何使用 replaceAll 函数提取实例并删除?
我试过str_in = str_in.replaceAll("(\\w+\\s+){0,8}", "");
了,但没有用。
对于字符串str_in = "instance (\\w+\\s+){0,8}deleted";
,如何使用 replaceAll 函数提取实例并删除?
我试过str_in = str_in.replaceAll("(\\w+\\s+){0,8}", "");
了,但没有用。
如果您,正如您的问题所述,真的想使用replaceAll()
而不是 (在我看来更合适) replace()
,您可以使用\Q
and\E
标记从字面上匹配字符串:
String str_in = "instance (\\w+\\s+){0,8}deleted";
System.out.println(str_in.replaceAll("\\Q(\\w+\\s+){0,8}\\E", ""));
印刷
instance deleted
您将需要转义单个字符,以使它们失去正则表达式的性质:
str_in.replaceAll("\\(\\\\w\\+\\\\s\\+\\)\\{0,8\\}", "")
由于字符串文字,每个转义的反斜杠都需要自行转义。
你的意思(\\w+\\s+){0,8}
是字面上在字符串中,你想删除它吗?您将需要\
在您的 replaceAll 中再次转义它们,以便按字面意思解释它们,而不是作为正则表达式的一部分,以及(
and {
。