自学内容网 自学内容网

scala的正则表达式

定义一个规则,正则表达式
查找。 在目标字符串中,找到符合正则1表达式规则要求的 

 

单个val reg="[^ab]".r

 多个字符

1. . 表示 除了换行之外的其他任意单个字符
2. \d 等于【0-9】匹配一个数字
3. \D 除了\d之外的其他任意字符,表示非数字
4. \w 等价于【0-9A-Za-z_】63个字符
5. \W 除了\w之外的任何字符。表示非字
6.\s 表示一个空格
7.\s 表示一个非空格
val reg =".".r

全部代码

object test {
  def main(args: Array[String]): Unit = {
    //定义一个规则,正则表达式
    //val reg ="[a-zA-Z0-9 ]{2}".r
    //val reg="[^ab]".r
//    1. . 表示 除了换行之外的其他任意单个字符
//    2. \d 等于【0-9】匹配一个数字
//    3. \D 除了\d之外的其他任意字符,表示非数字
//    4. \w 等价于【0-9A-Za-z_】63个字符
//    5. \W 除了\w之外的任何字符。表示非字
//    6.\s 表示一个空格
//    7.\S 表示一个非空格
//    val reg =".".r

    val reg= "\\S".r

    //1.查找。 在目标字符串中,找到符合正则1表达式规则要求的   子串
//    val rs =reg.findFirstIn("abc")
//    if (!rs.Empty){
//      println("你找到的,符合正则表达式要求的内容是",rs.get)
//    }
    reg.findAllIn("_Ai 1234am a12 no,y3es,ok").toList.foreach(println)
  }
}

 量词

量词
1.{n,m}把前面的字符匹配最少n次,最多m次
1.{n,}把前面的字符匹配最少n次,最多不限
3.{n} 把前面的字符匹配n次
4.  ?===>{0,1}  把前面的字符匹配0次,或者1次
5.  +===>{1, }  把前面的字符最少匹配1次
6.  *===>{0, }  把前面的字符匹配0次,或者多次

 实例

1 有11个数字

2 开头是1

3 第二位是3-9的数字

object test {
  def main(args: Array[String]): Unit = {
    var reg ="1[3-9]\\d{9}".r
    reg.findAllIn("0123456789  13asd456asd789 13465820614 and 18546945821").toList.foreach(println)
  }
}


原文地址:https://blog.csdn.net/2301_82118291/article/details/144242573

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!