在 Java 里,正则忽略大小写不是写在正则字符串里,而是通过 Pattern.CASE_INSENSITIVE 标志 来实现。
import java.util.regex.*;
public class Test {
public static void main(String[] args) {
String text = "Hello World";
Pattern pattern = Pattern.compile("hello world", Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(text);
System.out.println(matcher.find()); // true
}
}
Pattern pattern = Pattern.compile("(?i)hello world");
(?i) 表示从这里开始忽略大小写。
String 的 matches / replaceAll 中使用boolean result = "Hello".matches("(?i)hello");
System.out.println(result); // true
String s = "Hello Java";
s = s.replaceAll("(?i)java", "Python");
System.out.println(s); // Hello Python
Pattern.compile(
"hello",
Pattern.CASE_INSENSITIVE | Pattern.MULTILINE
);
| 方式 | 写法 | 推荐度 |
|---|---|---|
| Pattern 标志 | Pattern.CASE_INSENSITIVE |
⭐⭐⭐⭐⭐ |
| 内嵌标志 | (?i) |
⭐⭐⭐ |
| String 方法 | matches / replaceAll |
⭐⭐⭐ |
如果你有具体场景(比如匹配文件名、URL、中文+英文),可以贴出来,我可以帮你写完整正则。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。