正则表达式

34 阅读2分钟
package reg

object reg01 {
  def main(args: Array[String]): Unit = {
    // 定义一个正则表达式
    val reg = """\d""".r

    // 1. 匹配。在目标字符中,把符合正则表达式要求内容,找出来。
    val source = "067891 one 2 two 3 4 5"
    reg.findAllIn(source).foreach(println)
    // 2. 验证。检查给定目标字符串,是否符合正则表达式的要求。
    //reg.matches()
  }
}
object reg02 {
  def main(args: Array[String]): Unit = {
    // 定义一个正则表达式
    val reg = """1[3578]\d{9}""".r // 1的后面跟着3,5,7,8,后面再跟着9个相邻的数字
    // 1. 匹配。在目标字符中,把符合正则表达式要求内容,找出来。
    val source = "1a912345678 15612345678, 16612345678, 13812345678, 17912345678, 429005198406110045"
    reg.findAllIn(source).foreach(println)
  }
}
package reg

/**
 * 1. 什么是正则表达式
 *    正则表达式是一种用来匹配字符串的强大工具,它由普通字符(例如字符a到z)和特殊字符(称为"元字符")组成
 * 2. 使用步骤
 *    (1)定义一个正则表达式。"".r
 *    (2)调用正则表达式的相关方法
 */

/**
 * 3. 规则
 * (1)\d 表示一个数字
 * (2)\b 表示边界:空格,或者是最开始。
 * (3)\d{4} 表示四个数字 {n} 量词,让前面的规则重复n次。
 * (4)[] 表示其中任意一个字符。[3578]就是4个数字中的一个 [3-9]就是3456789中的某一个 [a-z]就是26个字母中的某一个
 */
object reg03 {
  def main(args: Array[String]): Unit = {
    // 定义一个正则表达式
    val reg = """^1[3578]\d{9}$""".r // 1的后面跟着3,5,7,8,后面再跟着9个相邻的数字
    println(reg.matches("13612345678")) //
    println(reg.matches("12612345679")) //
    println(reg.matches("1361234569"))  //
    println(reg.matches("136123456791")) //
  }
}