scala中的正则表达式

27 阅读2分钟

(一)正则表达式的定义

正则表达式(Regular Expression)是一种用于匹配、查找和替换文本中特定模式的字符串。

它是一种强大的文本处理工具,通过定义一系列的字符和操作符组合来描述这些模式。简单来说,它就像是一种文本模式的“配方”,可以让计算机根据这个“配方”在文本中找到符合要求的内容。

package reg

object reg01 {
  def main(args: Array[String]): Unit = {
//1.定义一个正则表达式
    val reg="apple".r //在字符串的后边加.r

    //2.调用他的方法 findFirstIn.找到第一个匹配成功的结果
    val rel =reg.findFirstIn("I like orange")

    //3.输出结果
    if(rel.isDefined){
      println(rel.get)
    }else{
      println("没有匹配任何内容")
    }
  }
}

image.png

(二)第一个正则表达式的案例

package reg

object reg02 {
  def main(args: Array[String]): Unit = {
    //验证合法的密码:只能由字母,数字,下划线构成,长度在6~10中间


//1.定义一个正则表达式
    val reg="\d{10}".r //在字符串的后边加.r
    //\d:匹配一个数字
    //{11}:表示前面的内容要匹配11次

    //2.调用它的方法 findFirstIn("123ab4,5")

    reg.findAllIn("我的手机号是:13612345678,请你记住。141889017878").foreach(println)
  }

}

image.png

package reg

object reg03 {
  def main(args: Array[String]): Unit = {
    //验证合法的密码:只能由字母,数字,下划线构成,长度在6~10中间

//1.定义一个正则表达式
    val reg="^\d{6,10}$".r //在字符串的后边加.r
    //\w:能匹配一个特殊字符。_,数字,小写字母,大写字母 中的某一个
    //{6,10}表示:这样的字符至少有六个,最多有十个
    //^:表示开始
    //$:表示结束

    //2.调用它的方法 findFirstIn("123ab4,5")
val rel =reg.findFirstIn("abc1234567890")
    //3.输出结果
    if(rel.isDefined){
      println("是一个合法的密码")
    }else{
      println("不是一个合法的密码")
    }
  }

}

image.png