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日--
Java的String.matches不区分大小写正则表达式匹配示例的更多相关文章
- 【Java】 剑指offer(19) 正则表达式匹配
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 请实现一个函数用来匹配包含'.'和'*'的正则表达式.模式中的字符 ...
- java 数据类型String 【正则表达式】匹配
1,什么是正则表达式 正则表达式是用来处理字符串的,其实正则表达式是非常复杂的,专门去系统学习需要花很长的时间,我们课程主要就是把常用的基础的给大家讲解. 正则表达式可以用来干什么: (1),匹配字符 ...
- Java—API/Obiect类的equals toString方法/String类/StringBuffer类/正则表达式
API Java 的API(API: Application(应用) Programming(程序) Interface(接口)) 就是JDK中提供给我们使用的类,这些类将底层的代码实现封装了起来 ...
- 正则表达式匹配可以更快更简单 (but is slow in Java, Perl, PHP, Python, Ruby, ...)
source: https://swtch.com/~rsc/regexp/regexp1.html translated by trav, travmymail@gmail.com 引言 下图是两种 ...
- 正则表达式匹配${key}并在Java中使用
1.正则表达式匹配${key} \$\{([a-z]+)\} 能够匹配字符串中以${key}形式的文本(其中key为小写应为字母) .*\$\{([a-z]+)\}.* 可以用来检测文本中是否有${k ...
- Java正则表达式匹配例子
Java正则表达式匹配例子 package com.ibm.test; import java.util.regex.Matcher; import java.util.regex.Pattern; ...
- java中使用正则表达式匹配字符串
在Java中使用正则表达式去匹配相应的字符串: String importFileRole = "(import)\\s*[a-zA-Z0-9_<>.]+\\;";// ...
- Java/Js下使用正则表达式匹配嵌套Html标签
转自:http://www.jb51.net/article/24422.htm 以前写过一篇文章讲解如何使用正则表达式完美解决Html嵌套标签的匹配问题(使用正则表达式匹配嵌套Html标签),但是里 ...
- Jmeter中正则表达式不区分大小写进行匹配
(?i)<r i="([A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12})" ...
随机推荐
- 制作的excel表格如何放到微信公众号文章中?
制作的excel表格如何放到微信公众号文章中? 我们都知道创建一个微信公众号,在公众号中发布一些文章是非常简单的,但公众号添加附件下载的功能却被限制,如今可以使用小程序“微附件”进行在公众号中添加附件 ...
- 1)uboot的编译和烧写
购买荔枝派ZERO已经将近一个星期了,由于官方资料不够完整一直没有任何进展.经过今夜近三个小时的折腾终于将UBOOT烧写成功,现将过程记录如下: 1)获取官方uboot 源码 : git clone ...
- 2020重新出发,JAVA入门,标识符&修饰符
标识符(Identifier ) 标识符是程序员用来命名变量,方法,类或标签的单词,其实就是我们在开发过程中凡是自己可以命名的一些单词就是标识符 标识符命名规则 标识符由字母(a-z,A-Z),数字( ...
- java方法与方法的重载
一 方法 1.方法的概述 在java中,方法就是用来完成解决某件事情或实现某个功能的办法. 方法实现的过程中,会包含很多条语句用于完成某些有意义的功能——通常是处理文本, 控制输入或计算数值.我们可以 ...
- Butterfly侧边栏引入一言
此教程涉及修改源码 背景 在修改每页显示7篇文章后,出现了这种情况. 这是完美主义(强迫症)的我所不能忍受的,有什么可以占据这里的呢?{% btn 'https://hitokoto.cn/',一言, ...
- 详解POW工作量证明原理
原文地址 来自 微信公众号 区块链大师 POW工作量证明(英文全称为Proof of Work)早在比特币出现之前就已经有人探索,常见的是利用HASH运算的复杂度进行CPU运算实现工作量确定,当然你 ...
- JavaFX桌面应用-视频转码工具(支持爱奇艺qsv转mp4)
最近由于需要将在爱奇艺下载的视频(qsv)转化了mp4,用JavaFX开发一个视频转码工具,算是JavaFX开发的第一个应用吧. 支持qsv转码mp4,理论上支持各种格式,仅测试了flv,qsv格式. ...
- 微信小程序内置组件web-view的缓存问题探讨
前言:博客或者论坛上面,还有自习亲身经历,发现微信小程序的webview组件的页面缓存问题相当严重,对开发H5的小童鞋来说应该困扰了不少.很多小童鞋硬是抓破脑袋也没有办法解决这个问题,那我们今天就来探 ...
- 用Python的Pandas和Matplotlib绘制股票唐奇安通道,布林带通道和鳄鱼组线
我最近出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,京东链接:https://item.jd.com/69241653952.html,在其中给出了MACD,KDJ ...
- JavaScript学习系列博客_21_JavaScript 变量、函数的提前声明
变量的提前声明(全局作用域) - 我们知道js的代码是自上而下执行的.如下,console.log(a)在var a=10前面,但是结果输出的是undefined. - 使用var关键字声明的变量,会 ...