Java String正则匹配大小写问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java String正则匹配大小写问题相关的知识,希望对你有一定的参考价值。

例如
String str="aBakkKJkkk";
str.matches("^aba.*");
我现在想让它不匹分大小写的匹配,我该怎么写?java有没有模式修饰符可以使用?

有,把正则改成:
str.matches("^(?i)aba.*");
(?i)表示后面的字符串都不区分大小写追问

哦,谢谢你,我记起来了,模式修饰符可以这样写,我以前学习php的,习惯了//i这种设置修饰符方式,忘记了用括号设置的方法,请问java有//i这种设置方法吗?

追答

我没有用过你的这种写法,呵呵,
我写的那种更灵活一些

追问

嗯,你这种写法我学习过,只是一时想不起来。

参考技术A 是不是也可以先把字符串转为小写再匹配,str.toLowCase().matches("^aba.*");追问

这种方法我曾想过,但是我不要改变原数据。

参考技术B str.matches("(?i)^aba.*");

java正则: 忽略大小写匹配

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.sun.org.apache.xerces.internal.impl.xpath.regex.CaseInsensitiveMap;

public class test {

    public static void main(String[] args) {
        String str = "java JavA ABC";
        Pattern test_ = Pattern.compile("java",Pattern.CASE_INSENSITIVE);
        Matcher result_ = test_.matcher(str);

        str = result_.replaceAll("Perl6");
        
        System.out.println(str);
        
    }


}

 

以上是关于Java String正则匹配大小写问题的主要内容,如果未能解决你的问题,请参考以下文章

正则匹配文件后缀的问题

String怎么和正则表达去匹配?

java 正则匹配字符是不是为纯数字

Nginx中的正则如何匹配数字

求js验证字母数字的正则表达式,且是字母开头的

java正则表达式能不能不按顺序匹配?