Scala中的正则表达式

它是一种强大的文本处理工具,通过定义一系列的字符和操作符组合来描述这些模式。简单来说,它就像一种文本模式的"配方"。

复制代码
package test9

object test9_1 {
  //正则表达式
  def main(args: Array[String]): Unit = {
    //定义一个正则表达式
    //1.[ab]:表示匹配一个字符,或者是a或者是b
    //2.[a-z]:表示从a到z的26个字母中的任意一个
    //3.[A-Z]:表示从A到Z的26个字母中的任意一个
    //4.[0-9]:表示从0到10中的任意一个
    //4.1[^ab]:表示匹配一个字符,除a,b之外的
    //5.{11}:表示前面的字符出现11次
    //val reg1 = "[0-9]{11}".r
//    val reg1 = "\\d+".r

    //脱字符^ 如果在正则的最前面,表示要匹配的内容必须在字符串的开头
    //脱字符$ 如果在正则的最后面,表示要匹配的内容必须在字符串的结尾
    //8. 英文的 . :表示除了换行之外的其它的任意字符
    //9. \d :表示0-9的一个数字
    //10. \D::表示除了 \d 之外的字符
    //11. \w:[a-zA-Z0-9_]63个字符中的任意一个,"一个字"
    //12. \W:表示除了 \w 之外的字符
    //13.\s:表示空格
    //14.\S:表示除了 \s 之外的字符

    //15.量词
    //15.1 *:表示 >=0
    //15.2 +:表示 >=1
    //15.3 ?:表示0次或者1次
    //15.4 {11}:恰好11次
    // 15.5 {3,5}:表示至少3次,最多5次
    //15.6 {3,}:至少3次,最多不限
    //贪婪模式
    //正则匹配模式默认是贪婪模式
    //16 ? 非贪婪模式:加在量词的后面
    
    //在如下字符串查找满足正则表达式要求的内容
//    val str = "i am abc"
    //找到第一个满足条件的
//    val rs = reg1.findFirstIn("i am abc abc")
//    if (!rs.isEmpty){
//      println("找到的是:",rs.get)
//    }
    //全部的
    val reg1 = "\\d{3,6}?".r
//    val reg1 = "[a-z]{3,5}".r
    reg1.findAllIn("132396123317").toList.foreach(println)
    }
}
相关推荐
前进的李工10 小时前
飞书企业知识库设计+后端高频八股
数据库·redis·后端·mysql·性能优化·飞书·rag
为思念酝酿的痛12 小时前
MySQL数据类型
数据库·mysql
程序员塔塔喵13 小时前
【MySQL篇|第二篇】慢SQL及其优化手段
sql·mysql·慢sql优化
为思念酝酿的痛14 小时前
MySQL数据库基础
数据库·mysql
paopaokaka_luck14 小时前
智慧电玩店管理系统(空闲机台随机分配、游玩时长概率模拟、积分自动结算、积分兑换闭环、 ECharts经营分析、 腾讯地图选址)
java·人工智能·mysql·echarts·推荐算法
*长铗归来*15 小时前
MySQL新学知识(三)MySQL 事件(EVENT)
数据库·mysql
Warolitbos16 小时前
【数据库】SQL进阶15题,窗口函数/索引/事务一页速查
数据库·sql·学习·mysql·面试
从零数据分析16 小时前
零基础学SQL 23:和上月比总对不上?LAG/LEAD 一步取出上一次(附 4 个模板)
java·数据库·sql·mysql·oracle·sqlite·database
太理摆烂哥16 小时前
MySQL的查询
数据库·mysql
程序员塔塔喵17 小时前
【MySQL篇|第四篇】事务隔离级别
数据库·mysql·事务隔离级别