Scala 使用正则表达式

15 篇文章 2 订阅
订阅专栏

一、简介

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、基本语法

object ScalaRegex {
    def main(args: Array[String]): Unit = {
        // 构建正则表达式
        val pattern = "Scala".r
        val str = "Scala is Scalable Language"

        // 匹配字符串 - 第一个
        println(pattern findFirstIn str)

        // 匹配字符串 - 所有
        val iterator: Regex.MatchIterator = pattern findAllIn str
        while ( iterator.hasNext ) {
            println(iterator.next())
        }

        println("***************************")
        // 匹配规则:大写,小写都可
        val pattern1 = new Regex("(S|s)cala")
        val str1 = "Scala is scalable Language"
        println((pattern1 findAllIn str1).mkString(","))
    }
}

三、案例实操

  • 手机号正则表达式验证方法
object ScalaRegex {
    def main(args: Array[String]): Unit = {
        // 构建正则表达式
        println(isMobileNumber("18801234567"))
        println(isMobileNumber("11111111111"))
    }
    def isMobileNumber(number: String): Boolean ={
        val regex = "^((13[0-9])|(14[5,7,9])|(15[^4])|(18[0-9])|(17[0,1,3,5,6,7,8]))[0-9]{8}$".r
        val length = number.length
        regex.findFirstMatchIn(number.slice(length-11,length)) != None
    }
}
  • 提取邮件地址的域名部分
object ScalaRegex {
    def main(args: Array[String]): Unit = {
        // 构建正则表达式
        val r = """([_A-Za-z0-9-]+(?:\.[_A-Za-z0-9-\+]+)*)(@[A-Za-z0-9-]+(?:\.[A-Za-z0-9-]+)*(?:\.[A-Za-z]{2,})) ?""".r
        println(r.replaceAllIn("abc.edf+jianli@gmail.com   hello@gmail.com.cn", (m => "*****" + m.group(2))))
    }
}
Scala正则表达式
大数据跟我学i
04-13 2564
文章目录概述格式案例一:效验邮箱是否合法案例二:过滤所有不合法邮箱案例三:获取邮箱运营商 概述 所谓的正则表达式指的是 正确的, 符合特定规则的式子 , 它是一门独立的语言, 并且能被兼容到绝大多数的编程语言 中. 在scala中, 可以很方便地使用正则表达式来匹配数据。具体如下: Scala中提供了 Regex类 来定义正则表达式. 要构造一个Regex对象,直接使用 String类的r方法 即可. 建议使用三个双引号来表示正则表达式,不然就得对正则中的反斜杠进行转义. 格式 val 正则对象名 =
scala正则表达式
xiaolichaoren的博客
09-19 377
Scala正则表达式用法 正则表达式是一种针对于字符串的操作,主要功能有匹配、切割、替换和提取的作用,在Scala中正则也是被频繁使用的方法(regex.r表示为正则表达式) 1、匹配 Scala支持多种正则表达式解析,主要包括下面三种 String.matches 正则表达式模式匹配 scala.util.matching.Regex API String.matches 例1: val s = "!123456" println(s.matches("![a-zA-z0-9]{6}"))//
scala正则表达式
汉子一枚
02-15 1244
正则表达式scala中,可以很方便地使用正则表达式来匹配数据。 定义 Regex类 scala中提供了Regex类来定义正则表达式 要构造一个RegEx对象,直接使用String类的r方法即可 建议使用三个双引号来表示正则表达式,不然就得对正则中的反斜杠来进行转义 val regEx = """正则表达式""".r findAllMatchIn方法 使用findAllMatchIn方法可以获取...
Scala正则表达式
Jamie's Blogs
09-21 284
正则表达式正则表达式定义示例一示例二示例三 正则表达式scala中,可以很方便地使用正则表达式来匹配数据。 定义 Regex类 scala中提供了Regex类来定义正则表达式 要构造一个RegEx对象,直接使用String类的r方法即可 建议使用三个双引号来表示正则表达式,不然就得对正则中的反斜杠来进行转义 val regEx = """正则表达式""".r findA...
Scala——正则表达式
m0_46657040的博客
09-17 382
1. 当字符串中有特殊符号时 方法一、通过转义符\转义 val str="{\“id”:\“12”,\“friends\”:{\“name\”:\“zs\”,\“age\”:\“40\”}}" println(str)//{“id”:“12”,“friends”:{“name”:“zs”,“age”:“40”}} 方法二、""" … “”“来转义字符串 val str2=”""{“id”:“12”,“friends”:{“name”:“zs”,“age”:“40”}}""" println(str2)//
详解Java中的scala正则表达式
08-25
下面我们将详细探讨Scala正则表达式的相关知识。 首先,创建一个`Regex`对象有两种方式:一种是通过`String`类的`r()`方法,例如`"pattern".r`;另一种是直接使用`new Regex("pattern")`。一旦有了`Regex`对象,...
scala正则表达式与模式匹配.doc
10-09
Scala 正则表达式与模式匹配 Scala 正则表达式Scala 语言中的一种强大工具,用于模式匹配...在 Scala 中,我们可以使用正则表达式来实现复杂的字符串处理任务,并与模式匹配结合使用,以实现更加灵活的字符串处理。
scala 正则表达式匹配_Scala教程–正则表达式,匹配
04-23 2762
scala 正则表达式匹配 前言 这是面向初学者的Scala教程的第5部分。 该博客上还有其他文章,您可以在我正在为其创建的计算语言学课程的链接页面上找到这些链接和其他资源。 此外,您可以在“ JCG Java教程”页面上找到本教程和其他教程系列。 这篇文章是有关正则表达式(regexes)的两个文章中的第一篇,正则表达式对于各种编程任务,尤其是计算语言学任务都是必不可少的。 本教程介绍...
Scala正则表达式使用
hongchenshijie的博客
02-04 486
正则表达式scala中,可以很方便地使用正则表达式来匹配数据。 定义 Regex类 scala中提供了Regex类来定义正则表达式 要构造一个RegEx对象,直接使用String类的r方法即可 建议使用三个双引号来表示正则表达式,不然就得对正则中的反斜杠来进行转义 使用findAllMatchIn方法可以获取到所有正则匹配到的字符串 val regEx = """正则表达式"""....
Scala 正则表达式
搬砖小工053
07-24 578
简介Scala 通过 scala.util.matching 包种的 Regex 类来支持正则表达式。以下实例演示了使用正则表达式查找单词 Scala import scala.util.matching.Regexval pattern = "Scala".r val str = "Scala is Scalable and cool"println(pattern findFirstIn str
Scala里面如何使用正则处理数据
三劫散仙
01-05 396
正则在任何一门编程语言中,都是必不可少的一个模块,使用它来处理文本是非常方便的,尤其在处理在使用spark处理大数据的时候,做ETL需要各种清洗,判断,会了正则之后,我们可以非常轻松的面对各种复杂的处理,Scala里面的正则也比Java简化了许多,使用起来也必要简单,下面通过几个例子来展示下其用法: [code="java"] /** * Created by QinDongLi...
JavaScript正则表达式(一)——基本语法和方法
m_sy530的博客
09-15 344
1.定义及概念     正则表达式(Regular Expression),又称规则表达式,是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。它是一种文本模式(即字符串结构),该模式描述在搜索文本时要匹配的一个或多个字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。 2.目的     通过一个给定的正则表达式和一个
scala正则
斧王,不能再斩杀了吗的博客
04-11 273
package Demo001.scala02 object RegexDemo extends App { //"2019-04-11" //三个双引号为自然语言不用\转义 等同于 "(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)".r val data1="""(\d\d\d\d)-(\d\d)-(\d\d)""".r //.r的返回值是Regex 就是正则...
Scala>scala正则表达式
qq_44509920的博客
04-06 263
正则表达式scala中,可以很方便地使用正则表达式来匹配数据。 定义 Regex类 scala中提供了Regex类来定义正则表达式 要构造一个RegEx对象,直接使用String类的r方法即可 建议使用三个双引号来表示正则表达式,不然就得对正则中的反斜杠来进行转义 val regEx = """正则表达式""".r findAllMatchIn方法 使用findAllMatchIn方法...
写文章

热门文章

  • 深度学习 TensorFlow入门 36600
  • Vue 使用Vue-CLI4 创建Vue项目 34867
  • 深度学习 简介 21205
  • 解决git clone只有master分支的问题 18201
  • SparkSQL 概述 17614

分类专栏

  • 面经 1篇
  • 人工智能 52篇
  • 图像处理 7篇
  • 大数据 107篇
  • Scala 15篇
  • 大前端 88篇
  • ACM 54篇
  • JavaSE 77篇
  • 数据库 27篇
  • JavaEE 24篇
  • Java高级框架 56篇
  • Linux 17篇
  • Java互联网架构 25篇
  • Python基础 44篇
  • Python爬虫 13篇
  • Java微服务架构 17篇

最新评论

  • Pytorch深度学习基础 实战天气图片识别(基于ResNet50预训练模型,超详细)

    weixin_73581467: 可以给讲一下吗

  • Pytorch深度学习基础 实战天气图片识别(基于ResNet50预训练模型,超详细)

    weixin_73581467: 这个加在哪里,大佬,刚入门不太懂

  • Pytorch深度学习基础 实战天气图片识别(基于ResNet50预训练模型,超详细)

    weixin_73581467: 大佬,为什么我用别的图片当数据集想要识别别的类型的图片就会报错1D target tensor expected, multi-target not supported,而训练你的天气图片的就没事

  • Pytorch 入门

    2301_80141797: tensor([2.5000, 3.3000]) 这里输出好像错了

  • Flink CEP

    时砂之烬: 博主可以分享一下参考资料吗

大家在看

  • CSS综合案例——新闻详情
  • 基于STM32设计的门禁卡管理系统(248) 185
  • Python代码执行失败问题及解决方案
  • 香港服务器受欢迎的原因 - 炫网互联 79
  • SSM校园闲置物品交易小程序-计算机毕业设计源码87408 864

最新文章

  • 美团大数据开发转正实习面经(已OC)
  • react-router-dom v6快速上手
  • Pytorch深度学习基础 实战天气图片识别(基于ResNet50预训练模型,超详细)
2023年1篇
2022年84篇
2021年128篇
2020年4篇
2019年308篇
2018年95篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家台州步行街玻璃钢雕塑沈阳形象玻璃钢雕塑元旦美陈商场广场长沙人物玻璃钢雕塑哪家便宜辽宁玻璃钢佛像雕塑批发厂阜阳特色玻璃钢雕塑江西卡通玻璃钢动物马雕塑公园景观玻璃钢雕塑生产橙子玻璃钢雕塑价格玻璃钢雕塑类型公司厦门江门玻璃钢动物雕塑喷泉雕塑美人鱼玻璃钢雕塑室外雕塑玻璃钢个旧市玻璃钢雕塑设计加工阳江玻璃钢花盆厂家河北园林玻璃钢雕塑畅销全国玻璃钢钢琴造型雕塑济南唐韵玻璃钢马雕塑巩义商业玻璃钢雕塑个旧市玻璃钢雕塑公司玻璃钢蘑菇雕塑多少钱湛江玻璃钢卡通雕塑介绍铸铜雕塑厂家玻璃钢雕塑芜湖玻璃钢雕塑设计厂家江西户外玻璃钢雕塑多少钱鹤壁玻璃钢雕塑厂家太原玻璃钢雕塑翻新卡通人玻璃钢雕塑摆件哪里有石家庄多彩玻璃钢雕塑定制吉林小区玻璃钢雕塑安装香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化