范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

正则表达式的通用语法以及用法作用

  一、正则表达式语法
  范围匹配 [ ] (一个中括号表示匹配一个)[abc]:                           匹配abc中任意一个字符 [a-z]:                           匹配小写字母a-z中的一个 [A-Z]:                           匹配大写字母A-Z中的一个 [0-9]:                           匹配数字0-9中的一个 组合匹配:                        [a-zA-Z0-9]:                                                            匹配a-z或者A-Z或者0-9之间的任意一个字符                        [a-dm-p]:                                             匹配a-d或m-p之间的任意一个字符 排除:                         [^abc]:                                            匹配除a、b、c之外的任意一个字符 //^在中括号里面表示非的意思                         [^a-z]:                                            匹配除小写字母外的任意一个字符
  代码演示public class Test { public static void main(String[] args) { //匹配abc中任意一个字符。 System.out.println("A".matches("[abc]")); //false System.out.println("ab".matches("[abc]")); //false System.out.println("a".matches("[abc]")); //true System.out.println("---------------------------------------");    //[a-z]:匹配小写字母a-z中的一个 System.out.println("B".matches("[a-z]")); //false System.out.println("b".matches("[a-z]")); //true System.out.println("---------------------------------------");    //[a-zA-Z0-9]:匹配a-z或者A-Z或者0-9之间的任意一个字符 System.out.println("我".matches("[a-zA-Z0-9]")); //false System.out.println("0".matches("[a-zA-Z0-9]")); //true System.out.println("0".matches("[a-zA-Z0-9]")); //true System.out.println("f".matches("[a-zA-Z0-9]")); //true System.out.println("A".matches("[a-zA-Z0-9]")); //true //这里加了一个空格,匹配范围就会更改为[a-z A-Z0-9]: // 匹配a-z或者空格或者A-Z或者0-9之间的任意一个字符 System.out.println(" ".matches("[a-z A-Z0-9]")); //true   System.out.println("------------------------");    System.out.println("A".matches("[^A-Z]")); //false System.out.println("a".matches("[^A-Z]")); //true System.out.println("0".matches("[^A-Z]")); //true } }
  预定义字符".":                    匹配一个任意字符  "d":                    匹配一个数字字符,相当于[0-9] "D":                    匹配一个非数字,相当于[^0-9]  "s":                    匹配一个空白字符 "S":                    匹配一个非空白字符  "w":                    匹配一个单词字符,包括大小写字母,数字,下划线,相当于 [a-zA-Z0-9_] "W" :                    匹配一个非单词字符 ^ :                    匹配字符串的开始(在集合字符里[^a]表示非(不匹配)的意思  $ :                    匹配字符串的结束                    注意:有的记得加,变成,表转义                    如: d D s S w W
  代码演示public class Test2 { public static void main(String[] args) {                          //匹配任意一个字符                          System.out.println(".".matches(".")); //true                             //匹配任意三个字符                          System.out.println("a".matches("...")); //false                               System.out.println("-----------------------------------------");                            //匹配是数字开头和数字结束的三个数字字符                         System.out.println("02a".matches("^ddd#34;)); //false                         System.out.println("a12".matches("^ddd#34;)); //false                         System.out.println("a1a".matches("^ddd#34;)); //false                         System.out.println("250".matches("^ddd#34;)); //true } }
  数量词(限定符)(放在后面)                                       ? :0次或1次                                         *: 0次或多次 (任意次)                                         + :1次或多次                                         {n} :重复n次                                         {n,} :重复n次以上 (至少n次) >=n                                         {n,m} :重复n到m次(包括n和m)  //注意:限定符只能影响到离它最近的那个规则,如果想要影响整体,就给那个整体加()                                         // 如:                      需要匹配 over!三次                       System.out.println("over!over!over!".matches("over!{3}")); //false ,只能影响到!                       System.out.println("over!over!over!".matches("(over!){3}")); //true ,影响到整体
  代码演示public class Test3 { public static void main(String[] args) { //表示匹配a-z中的字符 "一次" System.out.println("ab".matches("[a-z]?")); //false System.out.println("a".matches("[a-z]?")); //true System.out.println("----------------------------");  //表示匹配a-z中的字符 "任意次" System.out.println("abcabc".matches("[a-z]*")); //true System.out.println("-------------------------");   //表示匹配a-z中至少一次 System.out.println("ab".matches("[a-z]+")); //true System.out.println("-------------------------------------");  //表示匹配任意4个数字字符 System.out.println("abcd".matches("d{4}")); //false System.out.println("0123".matches("d{4}")); //true System.out.println("----------------------------------");     //表示匹配任意一个字符5次以上 System.out.println("abc".matches("w{5,}")); //false System.out.println("abcdefg".matches("w{5,}")); //true System.out.println("-----------------------------------------");      //表示匹配任意一个单词字符5-7次 System.out.println("abc".matches("w{5,7}")); //false System.out.println("abcdefgh".matches("w{5,7}")); //false System.out.println("abcde".matches("w{5,7}")); //true } }
  二、正则表达式作用* 正则表达式是一个强大的字符串处理工具,是用于匹配字符串的模板,  * 可以对字符串进行格式校验,查找、提取、替换等操作
  三、String类中支持正则表达式的方法*  boolean matches(String regex)                 判断该字符串是否匹配指定的正则表达式  *  String replaceAll(String regex, String replacement)                 将该字符串中所有匹配正则表达式的内容替换成新的字符串,并返回替换后的新的字符串  * String[] split(String regex)                根据匹配规则,把字符串分割成多个子串
  四、案例
  身份证案例import java.util.Scanner; public class Test4 { /* 号码为18位,不能以数字0开头,前17位可以是数字,最后一位可以是数字或者大写字母X */ public static void main(String[] args) { Scanner rd=new Scanner(System.in); String a=rd.next(); Boolean b=a.matches("[1-9]d{16}[0-9X]"); System.out.println(b); } }
  邮箱案例
  public class Main { public static void main(String[] args) { //邮箱案例 Scanner rd=new Scanner(System.in); String a=rd.next(); boolean b=a.matches("^[a-zA-Z][a-zA-Z0-9_]{5,18}"); System.out.println(b); } }
  作者:今日头条 KJ丶JK /CSDN-KJ.JK

南山花椒莫非已经成为省城南部山区第三种被山民遗弃的农作物?引言2022年8月底,省城济南南部山区的花椒,陆续步入成熟后的采摘季节。佛峪成熟的花椒驴友徒步省城南部山区,在龙洞佛峪山顶,村民搬迁后荒芜的山地里,几颗花椒树,红红的花椒,缀满枝头天问一号和玉兔二号中秋节传书问安!信里都说了啥?中秋赏月,是我们自古以来的传统文化。而此刻,抬头望向天空,距离我们38万公里远的月球上,真的有嫦娥和玉兔。2019年1月,嫦娥四号月球探测器实现月面着陆,并释放了玉兔二号月球车。与周五晚间迎来两大利好,下周这两个板块或将迎来大幅上涨周五晚间,消息面并不平静,陆续迎来两大利好消息国务院支持山东大力发展可再生能源,打造千万千瓦级深远海海上风电基地比亚迪8月新能源汽车销量174915辆,同比增185,环比增长7。6华为Mate50或将采用拼色设计!至少有五种配色,网友4G手机还能让万众期待的也只有华为了中国经济周刊经济网讯8月29日上午,华为公布了一张Mate50系列的海报,其中的汽车和赛道线条都在证实Mate50RS机型的存在。其实此前就已经有多方爆料显示,这次会有Mate50爱奇艺发布财报连续两个季度运营盈利会员同比增收7雷递网乐天8月30日爱奇艺(NASDAQIQ)今日发布截至6月30日未经审计的第二季度财报。财报显示,爱奇艺二季度总营收67亿元,其中会员服务营收43亿元,同比增长7。实现基于非美Nikola创始人TrevorMilton将面临电动卡车相关证券欺诈审判华尔街日报9月12日报道,Nikola创始人TrevorMilton本周将面临一场证券欺诈审判,他被控在该公司环保技术开发问题上撒谎。据报道,Milton此前因其改革电动卡车的承诺罚罪最狠毒之人,为钱抛弃所有亲人,大王身份实至名归英超阿森纳队曾经有一个热梗叫最己阵,意思是最强之人已在阵中。不知道罚罪的编剧是不是受到过最己阵的启发,在剧情进行到关键时刻,罚罪给广大观众好好上了一课,什么才叫最强之人已在阵中,什程前离婚27年他娶小妻子51岁做父亲,前妻的人生状况怎样?头条创作挑战赛点击关注,每天都有名人故事感动您!程前程前曾是红极一时家喻户晓的央视著名主持人,主持过3届央视春晚,还是央视名牌栏目正大综艺的主持人,被当做赵忠祥的接班人。多才多艺的教你一分钟把身份证写入手机中,出门再也不怕忘带了,非常方便身份证可以写入手机了,您知道吗?今天教你把身份证装进手机,再也不怕出门忘带了,非常快捷方便,快来学学吧,身份证可以说在我们生活中用到的地方特别多,但是如果忘记带身份证那么就很麻烦了安倍妻子发生车祸,这个女人玩的有多野?文红缨安倍桑刚刚走了没几天,他的遗孀安倍昭惠就发生了车祸,虽然目前没有大碍,但也不得不让人遐想,是不是这对老夫老妻思念对方,想泉下团聚了?安倍虽然在外交上左右横跳,但是对内宠妻狂魔出卖毛泽民的叛徒,1949年被捕却未判死刑,原因何在作者东旭1943年9月,新疆军阀盛世才突然变脸,在新疆掀起一场腥风血雨,5万进步人士和组织成员惨遭杀害,高中级干部就有130多名,其中就有主席的胞弟泽民和我党的早期创始人之一陈潭秋
如此惬意悠闲的线路,果断爱了!在这收获的季节是时候来一场说走就走的乡村游啦!国庆假期即将到来去欣赏一番九台的秋日风光吧!这条线路可以让你更好地体验农耕文化感受天作景地作布稻作画的神奇画卷领略秋天的秀美,享受丰收国庆假期,潍坊推出游了个游通关挑战等82项文旅活动9月30日,潍坊市人民政府新闻办公室召开发布会,介绍诗溢潍坊畅享金秋潍坊秋季旅游产品发布情况。记者从发布会上获悉,为进一步挖掘和释放文化消费潜力,结合当前的疫情防控形势,潍坊市文化世界旅游最安全的五个国家,你知道吗?21世纪应该是一个和平的年代,人们的生活方式在不断提高,近年来,旅游业大火,很多人都选择出国旅游,且不谈这个国家的交通,景点,最重要的就是安全问题了,只有人身安全得到保障,旅客才能八仙过海的美丽传说起源于一个血腥的故事八仙过海,是在中国民间流传很广的神话传说。完整故事最早见于杂剧争玉板八仙过海。由八仙应白云仙长之邀渡海赴蓬莱仙岛,回程时铁拐李建议不搭船而各自施展法术的故事演化而来,于是有了八仙过撑不住了?美国放宽对中国钕磁体的进口限制,外媒制裁解封前奏本文原创,禁止抄袭,违者必究众所周知,为了限制中国芯片行业的发展,从2019年开始,美国就限制一些先进的半导体企业自由出货到中国,例如ASML无法向中国自由出口EUV光刻机,连中芯风向变了,中国新能源车比亚迪欧洲发布会三车齐发,开启多国交付风向变了,中国新能源汽车比亚迪欧洲发布会三车齐发,开启欧洲多国交付,包括挪威丹麦瑞典等燃油车今后可能会被新能源取代,这是推动世界发展的一个趋势,数据显示,2021年中国的纯电动汽车中指研究院中国新能源上市公司呈蓬勃发展之势本报记者董曙光北京报道国庆前夕,由中国企业评价协会北京中指信息技术研究院主办的2022中国新能源上市公司研究报告会在京拉开帷幕。中国经营报记者在报告会上获悉,上述会议旨在研讨中国新芯片不好卖,价格大跌,美国芯片巨头希望中国多买芯片近日,存储芯片大厂美光发布了第4财季的报表,数据显示,这一财报,营收下滑20,净利下滑45,创造了最近几年以来最惨数据。为什么会这样?美光表示,有一个原因就是中国市场需求疲软,导致中国女篮挺进决赛!东莞4名女篮国手继续冲中国女篮赢了!9月30日在澳大利亚悉尼进行的2022女篮世界杯半决赛中中国队以6159战胜澳大利亚队挺进世界杯决赛!中国女篮自1994年后首次晋级世界杯(含赛事前身世锦赛)决赛(图中安时评歌声嘹亮!与祖国共唱时代赞歌我和我的祖国,一刻也不能分割,无论我走到哪里,都流出一首赞歌,这首饱含深情的歌曲唱出了14亿中华儿女的共同心声,令人心潮澎湃,激动万千。在喜迎党的二十大的热烈氛围中,新中国迎来成立中国梭子蟹之乡炎亭山海之间玉苍之南,半城玉海半城山的苍南,是从南京到浙江的第一站。因此也有俗语说浙南看一看苍南第一站。这些年大家听到苍南的名字最多的地方或许是电视新闻,这儿大部分时候都是台风登陆点,