// 任务:把字符串中的手机号打码:类似于:138****5678
// 正则表达式的应用场景
// 查找, 验证, 替换
object Test41 {
def main(args: Array[String]): Unit = {
// var str = "张先生,手机号:123812345678 13612345454 寝室号:1345-01 你买的 xxx 到了"
// // 开始你的代码
//
val reg = "1[3-9]\\d{9}".r
// // () 是分组,它不会影响正则表达式的查询结果, 但是, 它会把分组找到的内容单独保存在group中。
// val reg = "(1[3-9]\\d)(\\d{4})(\\d{4})".r
// // reg.replaceAllIn的功能:在目标字符串str中, 用正则表达式reg去查找, 找到之后, 用 箭头函数 的返回值
// // 来替换
//
// // m 就是正则表达式找到的内容
// // 如果正则表达式中有(), 则 可以通过m.group来找到对应的分组
// val newStr = reg.replaceAllIn(str, (m)=>{
// println(s"第一组:${m.group(1)}")
// println(s"第二组:${m.group(2)}")
// println(s"第三组:${m.group(3)}")
// println("-"*40)
// m.group(1) + "****" + m.group(3)
// })
// println(newStr)
// // "张先生,手机号:138****5678 你买的 xxx 到了"
var str = "张先生, ID: 429005200001231156"
val reg = "(\\d{10})(\\d{6})(\\d[\\dX])".r
// val newStr = reg.replaceAllIn(str,(m)=>{
// println(s"第一组:${m.group(1)}")
// println(s"第一组:${m.group(2)}")
// println(s"第一组:${m.group(3)}")
// println("-"*40)
// m.group(1) + "-------" + m.group(3)
// })
val newStr = reg.replaceAllIn(str,m => m.group(1) + "------" + m.group(3))
println(newStr)
}
}