Java Replaceall 忽略大小写和特殊字符

标签 java regex character

这只是我尝试完成的事情的示例代码。

String s = "hello(1234aA)something";
String replaceString = "(1234aa)";
String s2 = s.replaceAll("(i?)" + replaceString, "something");

字符串s将是相同的,但大小写可能不同,这就是我在replaceall中使用(i?)的原因。 我怎样才能让正则表达式忽略特殊

最佳答案

使用quote() ,看来你已经弄清楚了忽略情况,但你应该使用 (?i),而不是 (i?)。

String s = "hello(1234aA)something";
String replaceString = "(?i)" + Pattern.quote("(1234aa)");
String s2 = s.replaceAll(replaceString, "something");

这应该有效。

关于Java Replaceall 忽略大小写和特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9443669/

相关文章:

java - 无法在 XSSFCell Apache POI 中设置自定义颜色

php - 在php中创建带有外来字符的目录

C++,在 If-Else 语句中访问字符串字符(初学者问题)

我可以使用下面的代码还是不正确的?

java - 更改 ViewPager 内显示的 fragment

javascript - Android WebClient 中的 AJAX 重定向

java - Spring Boot Social 无法通过 localhost 连接到 facebook

java - 正则表达式模式匹配

c# - 如何匹配字符串中任意字符的偶数个?

java - 正则表达式从井号到行尾匹配