Java的String.matches不区分大小写正则表达式匹配示例

需求:输入的cmd符合create,listall,delete三种形式,不用区分大小写

写成函数:

    public static boolean isAllowed3Cmd(String cmd) {
        return cmd.matches("^(?i)(create|delete|listall)$");
    }

正则式分析:

^...$:从字符串头到尾全部符合模式

?i:不区分大小写

create|delete|listall:三选一

完整测试代码:

复制代码
public class StringMatchesTest {
    public static void main(String[] args) {
        String[] arr= {"creat","create","Create","DELETE","LISTall","list","creat","del","listalllistall","deletecreate"};
        for(String cmd:arr) {
            System.out.println(String.format("String:%s %s pattern:%s",cmd,isAllowed3Cmd(cmd)?"matches":"dosen't match","'^(?i)(create|delete|listall)$'"));
        }
    }
    
    public static boolean isAllowed3Cmd(String cmd) {
        return cmd.matches("^(?i)(create|delete|listall)$");
    }
}
复制代码

输出:

复制代码
String:creat dosen't match pattern:'^(?i)(create|delete|listall)$'
String:create matches pattern:'^(?i)(create|delete|listall)$'
String:Create matches pattern:'^(?i)(create|delete|listall)$'
String:DELETE matches pattern:'^(?i)(create|delete|listall)$'
String:LISTall matches pattern:'^(?i)(create|delete|listall)$'
String:list dosen't match pattern:'^(?i)(create|delete|listall)$'
String:creat dosen't match pattern:'^(?i)(create|delete|listall)$'
String:del dosen't match pattern:'^(?i)(create|delete|listall)$'
String:listalllistall dosen't match pattern:'^(?i)(create|delete|listall)$'
String:deletecreate dosen't match pattern:'^(?i)(create|delete|listall)$'
复制代码

--2020年3月30日--

posted @   逆火狂飙  阅读(4465)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2018-03-30 【Canvas与艺术】十边直线型光阑
2018-03-30 【Canvas与艺术】十边曲线形光阑
2018-03-30 【Python】【Nodejs】下载单张图片到本地,Python和Nodejs的比较
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示