用于String的AllInnsensitive变量replaceAll(,)方法Java

Dhr*_*tel 8 java regex string

任何人都可以帮我创建java中的变量的正则表达式,以便字符串变量将被视为不区分大小写,并用WINDOWS替换每个单词,如Access,Access等等吗?

这是代码:

$html=html.replaceAll(label, "WINDOWS");
Run Code Online (Sandbox Code Playgroud)

请注意,label是一个字符串变量.

Boh*_*ian 24

只需将"不区分大小写"开关添加到正则表达式:

html.replaceAll("(?i)"+label, "WINDOWS");
Run Code Online (Sandbox Code Playgroud)

注意:如果标签可能包含具有特殊正则表达式重要性的字符,例如,如果标签是".*",但您希望标签被视为纯文本(即不是正则表达式),请在标签周围添加正则表达式引号,或者

html.replaceAll("(?i)\\Q" + label + "\\E", "WINDOWS");
Run Code Online (Sandbox Code Playgroud)

要么

html.replaceAll("(?i)" + Pattern.quote(label), "WINDOWS");
Run Code Online (Sandbox Code Playgroud)


ant*_*tix 7

String.replaceAll等效于创建匹配器并调用其replaceAll方法,因此您可以执行类似这样的操作以使其不区分大小写:

html = Pattern.compile(label, Pattern.CASE_INSENSITIVE).matcher(html).replaceAll("WINDOWS");
Run Code Online (Sandbox Code Playgroud)

请参阅:String.replaceAllPattern.compile JavaDocs