• 5个小功能掌握正则表达式的使用


    点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~

    这篇文章通过实现5个小功能,来讲述在Java中如何使用正则。

    Java中如何使用正则

    Java中正则相关类位于java.util.regex包下,主要使用2个类,如下:

    4d6c482019b5d06a1ce5e038f3bca04b.png

    Pattern类:

    Pattern是正则表达式regex的编译表示形式

    0c52f1fe9a87daf25cd0438ef0ea4339.png

    Matcher类:

    通过解释Pattern对输入的字符串input执行匹配操作的引擎

    ca34b12cf63d1d844b0ff08381827fd2.png

    注意:在Java代码中转义字符“\”要写成“\\”才表示一个“\”。

    比如regex=\d,在Java代码中应该写成“\\d”。

    下面我们通过几段Java代码来感受一下,除了功能1的代码是完整代码外,其余功能代码,我只给出main()方法。

    功能1:判断给定的字符串是否与给定的正则表达式完全匹配

    884a27c86d636bbb692f72dbf8e83638.png

    说明:matches()方法,尝试将整个区域与模式匹配。

    regex=\w+表示匹配至少一个字母或者数字或下划线[a-zA-z0-9_],所以字符串“HelloWord”与这个正则完全匹配。

    功能2:判断给定的字符串是否包含至少一个数字

    dec522f1a3daad0b9696a242753022b0.png

    说明:find()方法,尝试查找与该模式匹配的输入序列的下一个子序列,如果存在多个子串,find()方法能找到所有符合条件的子串。

    regex=\d+表示匹配至少一个数字,所以字符串“HelloWord,666!”可以匹配这个正则。

    4、功能3:从给定的字符串里找出所有的数字子串

    5aed57d976e06a08979df7f57719ecba.png

    说明:group()方法,返回在以前匹配操作期间由给定组捕获的输入子序列。即通过find()方法找到的符合条件的子串可以通过group()方法获取。

    regex=\d+表示匹配至少一个数字,字符串“HelloWord,666,888!”可以匹配这个正则2次,通过group()方法获取到了匹配的数字666与888。

    功能4:把给定的字符串里的所有数字替换为星号“*”

    0cd7d86b17d5eee1bdfce3b8a98fb6f3.png

    说明:replaceAll()方法,替换模式与给定字符串相匹配的输入序列的每个子序列。即通过replaceAll()方法把符合条件的子串替换成replaceAll()方法中的参数。

    regex=\d+表示匹配至少一个数字,字符串“Beijing 666,China 888!”可以匹配这个正则2次,通过replaceAll(“*”)方法把匹配的数字666与888替换成了***,因此替换后的字符串为“Beijing ***,China ***!”。

    功能5:把给定的字符串通过正则表达式进行拆分

    9352a6765f78d93567f525a7cc2b2a7d.png

    说明:String的split()方法,根据给定正则表达式的匹配拆分此字符串。

    字符串“Beijing010shanghai021tianjin022!!!”可以匹配3次regex=\d+,通过split()方法按数字进行拆分,拆分出4组内容,分别是“Beijing”, “shanghai”, “tianjin”, “!!!”。

    通过以上5个功能代码段,对Java开发中如何使用正则表达式应该有了一个较为清晰的认识。

  • 相关阅读:
    猿创征文 | 关于游戏开发的那些工具
    Vue:实现TodoList案例(尚硅谷)
    MySQL数据库——17.正则表达式
    研1日记12
    ZGC关键技术分析
    软件测试常见术语和名词解释
    c语言从入门到实战——数组指针与函数指针
    nodejs基于vue网上考勤系统
    Asp .NetCore 微信订阅号自动回复之文本篇
    uniapp发行H5获取当前页面query
  • 原文地址:https://blog.csdn.net/z123456789XDW/article/details/133053490