当前位置: 首页 > news >正文

Scala的正则表达式二

验证用户名是否合法

规则
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}".r    // /w等价于【0-9A-Za-z_】63个字符println(reg.matches(name1)) //matches对字符串做验证,返回boolean值println(reg.matches(name2)) //matches对字符串做验证,返回boolean值println(reg.matches(name3)) //matches对字符串做验证,返回boolean值println(reg.matches(name4)) //matches对字符串做验证,返回boolean值
}
}

 运行结果

替换
把字符串中的手机号打码
类似于138****5678
object test2 {def main(args: Array[String]): Unit = {var str = "张先生,手机号:13812345678 你买的xxx到了"//开始你的代码val reg ="(1[3-9]\\d)(\\d{4})(\\d{4})".r//reg.replaceAllIn的功能:在目标字符串中,用正则表达式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)}}

案例

把字符串中的身份证号打码

object test3 {def main(args: Array[String]): Unit = {var str = "张先生,ID:420984200406295610"val reg ="(\\d{10})(\\d{6})(\\d[\\dX])".rval 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)}}

 运行结果

http://www.lryc.cn/news/502765.html

相关文章:

  • 软考系分:今日成绩已出
  • DevExpress WPF中文教程:Grid - 如何移动和调整列大小?(一)
  • Docker 安装 sentinel
  • PyCharm 2024.1 解锁版 (Python集成开发IDE)详细安装步骤
  • SQL中的函数介绍
  • 【工业机器视觉】基于深度学习的水表盘读数识别(2-数据采集与增强)
  • 爬虫基础知识点
  • 高效利用资源:分布式有状态服务的高可靠性设计
  • aws(学习笔记第十六课) 使用负载均衡器(ELB)解耦webserver以及输出ELB的日志到S3
  • 关于php://filter过滤器
  • 数据安全法-政务数据安全与开放
  • MySQL数据库的数据类型
  • 前端H5移动端基础框架模板 :Vue3 + Vite5 + Pinia + Vant4 + Sass + 附源码
  • 什么是线程安全
  • ️️️ 避坑指南:如何修复国密gmssl 库填充问题并提炼优秀加密实践20241212
  • 深度学习实验十四 循环神经网络(1)——测试简单循环网络的记忆能力和梯度爆炸实验
  • AWS re:Invent 发布新的数据库产品 Aurora DSQL; NineData SQL编程大赛开始; 腾讯云支持PostgreSQL 17
  • STM32 OLED屏幕驱动详解
  • Python字符串常用操作
  • Redis 生产问题(重要)
  • 前端 —— Git
  • 【GL006】Linux 之 shell
  • JS听到了强运的回响
  • Linux下MySQL的简单使用
  • .net core使用AutoMapper
  • nmap详解
  • CentOS7环境安装php
  • 基于深度学习的猫狗识别系统【深度学习课设】
  • 字体子集化实践探索
  • A1017 基于Java+JSP+SQL Server+servlet的二手购物平台的设计与实现