当前位置: 首页> 科技> 互联网 > 管理咨询合同_建筑设计师接私活平台_大数据营销成功案例_游戏交易平台

管理咨询合同_建筑设计师接私活平台_大数据营销成功案例_游戏交易平台

时间:2025/7/15 18:41:52来源:https://blog.csdn.net/2401_87129058/article/details/144242797 浏览次数:0次
管理咨询合同_建筑设计师接私活平台_大数据营销成功案例_游戏交易平台

正则表达式的定义:

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

object Test43 {def main(args: Array[String]): Unit = {//定义一个规则  正则表达式val reg="[123]".r//1. 查找。在目标字符串中,找到符合正则表达式规则要求的 子串
//    val rs=reg.findFirstIn("abc a")
//    if(!rs.isEmpty){
//      println("你找到的,符合正则表达式要求的内容是",rs.get)
//    }reg.findAllIn("1a 2bc a3d").toList.foreach(println)}
}

//1. . 表示 除了换行之外的其他的任意单个字符
//2. \d 等于[0-9] 匹配一个数字 digit
//3. \D 除了\d 之外的其他任意字符。表示非数字
//4. \w 等价于[0-9A-Za-z_] 63个字符,表示一个字 word
//5. \W 除了\w之外的任意字符。表示非字
//6. \s 表示一个空格 space
//7. \S 表示一个非空格
object Test43 {def main(args: Array[String]): Unit = {
//    println("a\tb")//定义一个规则  正则表达式
//    val reg="[a-2A-Z0-9]".r//val rge="^a$".r//1. . 表示 除了换行之外的其他的任意单个字符//2. \d 等于[0-9] 匹配一个数字 digit//3. \D 除了\d 之外的其他任意字符。表示非数字//4. \w 等价于[0-9A-Za-z_] 63个字符,表示一个字 word//5. \W 除了\w之外的任意字符。表示非字//6. \s 表示一个空格 space//7. \S 表示一个非空格
//    val reg=".".rval reg="\\s".r//1. 查找。在目标字符串中,找到符合正则表达式规则要求的 子串
//    val rs=reg.findFirstIn("abc a")
//    if(!rs.isEmpty){
//      println("你找到的,符合正则表达式要求的内容是",rs.get)
//    }reg.findAllIn("_Ai 1234am a12 no, y3es, ok,").toList.foreach(println)}
}

正则表达式的应用场景:

1. 查找

2. 验证

3. 替换

案例一:验证用户名是否合法

规则:

1. 长度在6-12之间

2. 不能数字开头

3. 只能包含数字,大小写字母,下划线

  def main(args: Array[String]): Unit = {val name1="1admin"val name2="admin123"val name3="admin"val name4="ad_123Ab"val name5="admin123!"//通过正则表达式来判断val reg="[a-zA-Z_]\\w{5,11}".rprintln(reg.matches(name1))println(reg.matches(name2))println(reg.matches(name3))println(reg.matches(name4))println(reg.matches(name5))}

案例二:

任务: 把字符串中的手机号打码:类似于:138****5678
  def main(args: Array[String]): Unit = {var str="张先生,手机号:13812345678    你买的 xxx 到了"//开始你的代码//138   1234    5678//    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)}

案例三:把字符串中的身份证号打码

  def main(args: Array[String]): Unit = {var str="张先生,ID: 429005200001231156"val reg="(1[10-16]\\d)(\\d{6})(\\d[\\dX])".rval newStr=reg.replaceAllIn(str,(m)=> m.group(1)+"--------"+m.group(3))
//      println(m.group(1))
//      println(m.group(2))
//      println(m.group(3))
//      m.group(1)+"------"+m.group(3)println(newStr)}

关键字:管理咨询合同_建筑设计师接私活平台_大数据营销成功案例_游戏交易平台

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: