Scala的正则表达式(二)


object test9_1 {
  //正则表达式
  def main(args: Array[String]): Unit = {
  
  
//验证:给定的字符串是否符合正则表达式的要求
//用户名的规则
//1.长度在6-12位
//2.只能以字母开头
//3.只能包含如下4种:字母,数字,下划线,#
  val name1 = "_56!!@@@.com" //不符合 
  val name2 = "abc"//不符合 
  val name3 = "admin123#"
  val reg2 = "[a-zA-Z][a-zA-Z0-9_#]{5,11}".r
   // matches:验证字符串是否满足
    println(reg2.matches(name1))
    println(reg2.matches(name2))
    println(reg2.matches(name3))
    println(reg2.matches("a1231231231131313"))
    
  }
}
package test9

object test9_1 {
  //正则表达式
  def main(args: Array[String]): Unit = {    
//应用:替换
//要求把手机号的4-7位换成xxxx    
// (136) (1234) (5678)
//    val reg1 = "1[3-9]\\d{9}".r
    val reg1 = "(1[3-9]\\d)(\\d{3})(\\d{5})".r
    val str = "123 132396123317 and 15693457804  are phone numbers"
    val newStr =  reg1.replaceAllIn(str,m =>{
//      println(m.group(1))
//      println(m.group(2))
//      println(m.group(3))

      m.group(1) +   "###" + m.group(3)


    })
    println(newStr)
//    reg1.findAllIn("132396123317 and 15693457804 011812345678 11812345678 are phone numbers").toList.foreach(println)

  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值