文章作者:梦家
个人站点:dreamhomes.top
原文地址:https://dreamhomes.top/713.html
公众号ID:DreamHub

本文主要介绍 Scala 中的正则表达式的简单用法,在 jupyter 中学习效果更加哦!传送门~

Scala 正则表达式

Scala 通过 scala.util.matching 包中的 Regex 类来支持正则表达式。

// 使用正则表达式查找单词 Scala
val pattern = "Scala".r
val str = "Scala is Scalable and cool"println(pattern findFirstIn str)
Some(Scala)

实例中使用 String 类的 r() 方法构造了一个 Regex 对象。

然后使用 findFirstIn 方法找到首个匹配项。

如果需要查看所有的匹配项可以使用 findAllIn 方法。可以使用 mkString() 方法来连接正则表达式匹配结果的字符串,并可以使用管道(|) 来设置不同的模式:

import scala.util.matching.Regexval pattern = new Regex("(S|s)cala")  // 首字母可以是大写 S 或小写 s
val str = "Scala is scalable and cool"println((pattern findAllIn str).mkString(","))   // 使用逗号 , 连接返回结果
Scala,scala

如果需要将匹配的文本替换为指定的关键词,可以使用 replaceFirstIn() 方法来替换第一个匹配项,使用 replaceAllIn() 方法替换所有匹配项:

val pattern = "(S|s)cala".r
val str = "Scala is scalable and cool"println(pattern replaceFirstIn(str, "Java"))
Java is scalable and cool

更多用法可参考官网:Scala Regex

Scala 的正则表达式继承了 Java 的语法规则,Java 则大部分使用了 Perl 语言的规则。给出正则表达式示例:

联系作者

【Scala 教程】Scala 正则表达式相关推荐

  1. Scala教程– scala.io.Source,访问文件,flatMap,可变地图

    前言 这是面向初学者的Scala教程的第8部分. 该博客上还有其他文章,您可以在我正在为其创建的计算语言学课程的链接页面上找到这些链接和其他资源. 此外,您可以在" JCG Java教程&q ...

  2. scala php,Scala 教程

    Scala 教程 Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性. Scala 运行在Java虚拟机上,并兼容现有的Java程序 ...

  3. java教程-scala教程-带你从菜鸟入门

    java教程-菜鸟教程 https://www.runoob.com/java/java-tutorial.html scala教程-菜鸟教程 https://www.runoob.com/scala ...

  4. 尚硅谷大数据技术Scala教程-笔记04【集合】

    视频地址:尚硅谷大数据技术之Scala入门到精通教程(小白快速上手scala)_哔哩哔哩_bilibili 尚硅谷大数据技术Scala教程-笔记01[Scala课程简介.Scala入门.变量和数据类型 ...

  5. linux上安装scala教程

    Scala教程 一.介绍 cala 是 Scalable Language 的简写,是一门多范式的编程语言,Scala 语言可以运行在Window.Linux.Unix. Mac OS X等系统上. ...

  6. 【Scala 教程】Scala 集合类型

    作者:梦家 个人站点:dreamhomes.top 公众号:DreamHub Scala Collection Scala提供了一套很好的集合实现,提供了一些集合类型的抽象. Scala 集合分为可变 ...

  7. scala 定义空list_四十二、Scala 教程: List(列表)

    列表 Scala 列表 有点像 数组, 因为他们都是有序存储结构,而且所有元素的类型都一样,但它又不同于数组 1. 列表(List)一旦被创建就不能改变其中的元素. 2. 列表(List)底层的数据结 ...

  8. 【Scala教程】如何在已掌握的Java知识基础上快速上手Scala?【个人学习记录】

    如何在已掌握的Java知识基础上学习Scala 前言 正文开始! 1. 编译运行 2. 声明变量 3. 输出 4. 显式指定变量类型 5. 范围区间 6. 写入文本文件 7. 读取文本文件 8. if ...

  9. python中的正则表达式语法_Python基础教程之正则表达式基本语法以及re模块

    什么是正则: 正则表达式是可以匹配文本片段的模式. 正则表达式'Python'可以匹配'python' 正则是个很牛逼的东西,python中当然也不会缺少. 所以今天的Python就跟大家一起讨论一下 ...

最新文章

  1. p1209 Barn Repair
  2. 支持向量机(三)核函数
  3. JSON.stringify()方法
  4. 运营商市场定位决定移动互联网的成败
  5. Centos7 开启端口
  6. 阿里云CentOS服务器挂载数据盘
  7. loss下降auc下降_梯度下降算法 线性回归拟合(附Python/Matlab/Julia源代码)
  8. java poi生成excel文件_java poi 导出Excel文件
  9. 没有bug队——加贝——Python 57,58
  10. 【VB.NET】VB.NET字符串数组排序
  11. 《A Tour of PostgreSQL Internals》学习笔记——进程间通信
  12. java服务端高并发问题_Java服务端两个常见的并发错误
  13. 关于服务限流的一些思考
  14. [NOI2018]你的名字(68pts)
  15. 424.替换后的最长重复字符
  16. BP 神经网络用于模式分类
  17. 嵩天python测验_北理 嵩天老师 Python程序设计 测验易错题总结
  18. Shopee平台不活跃商品清理规则更新
  19. fastadmin项目实战踩坑
  20. 有营养的算法笔记(七)

热门文章

  1. Ubuntu QT 5.9.0 安装
  2. CPU分析系列--sysstat(mpstat+pidstat)分析系统CPU和I/O负载
  3. wince下更新NK软件(wince ghost V1)成功了!
  4. STM32 E18-D80NK红外检测
  5. Xutils3 数据库模块的使用方法
  6. 计算机人离开后保护,设置屏幕保护密码防止他人在自己离开时偷窥
  7. 基于51单片机有害气体浓度检测超限报警Proteus仿真
  8. 项目管理中需要注意的问题罗列
  9. 焦点与焦距 (focal point, focal length)
  10. 【基于ChatGPT的API】实现一个响应速度比官方更快的在线问答网站并通过宝塔上线全网可访问