一天学完spark的Scala基础语法教程十一、正则表达式(idea版本)

简介: 一天学完spark的Scala基础语法教程十一、正则表达式(idea版本)

创建测试类【day1/demo11.saclc】,文件类型【Object】

image.png

image.png

Scala 正则表达式

Scala 通过 scala.util.matching 包中的 Regex 类来支持正则表达式。以下实例演示了使用正则表达式查找单词 Scala :


基础案例

package day1
object demo11 {
  def main(args: Array[String]) {
    val pattern = "梦想".r
    val str = "所有奋斗者都会有梦想,人会放弃,但是梦想不会终结。"
    println(pattern findFirstIn str)
  }
}

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


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

image.png



查询所有

如果需要查看所有的匹配项可以使用 findAllIn 方法。


你可以使用 mkString( ) 方法来连接正则表达式匹配结果的字符串,并可以使用管道(|)来设置不同的模式:


package day1
import scala.util.matching.Regex
object demo11 {
  def main(args: Array[String]) {
    val pattern = new Regex("(梦|萌)想")
    val str = "所有奋斗者都会有梦想/萌想,人会放弃,但是梦想不会终结。"
    var arr=pattern findAllIn str;
    while (arr.hasNext){
      println(arr.next())
    }
  }
}

image.png


替换

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


package day1
import scala.util.matching.Regex
object demo11 {
  def main(args: Array[String]) {
    val pattern = new Regex("(梦|萌)想")
    val str = "所有奋斗者都会有梦想/萌想,人会放弃,但是梦想不会终结。"
    var info=pattern replaceAllIn(str,"梦想");
    print(info)
  }
}

image.png

正则表达式

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


下表我们给出了常用的一些正则表达式规则:


image.png

image.png

正则表达式实例

image.png

image.png

注意上表中的每个字符使用了两个反斜线。这是因为在 Java 和 Scala 中字符串中的反斜线是转义字符。所以如果你要输出 \,你需要在字符串中写成 \\ 来获取一个反斜线。查看以下实例:

错误使用:

image.png

正确使用:


package day1
import scala.util.matching.Regex
object demo11 {
  def main(args: Array[String]) {
    val pattern = new Regex("超级赛亚人\\d")
    val str = "孙悟空会变身超级赛亚人1,超级赛亚人2,超级赛亚人3,以及超级赛亚人蓝"
    println((pattern findAllIn str).mkString(","))
  }
}


image.png

相关文章
IDEA修改JDK版本
在IDEA中修改项目JDK版本的方法如下:1. 右键点击项目;2. 选择“Open Module Settings”,如图所示;3. 在弹出窗口中配置自定义的JDK路径。通过以上步骤,可轻松更改项目所使用的JDK版本,满足不同开发环境的需求。
3884 65
|
IDE 开发工具
【开发IDE升级】如何对IDEA版本进行升级
本文介绍了如何将 IntelliJ IDEA Ultimate 从 2020.2.2 版本升级到 2022.3.2 版本。主要内容包括准备工作、卸载旧版本和安装新版本的步骤。首先,从官网下载所需版本并备份旧版配置;接着,通过 Uninstall.exe 卸载旧版,保留配置和插件;最后,安装新版并完成激活。详细的操作步骤和截图帮助用户顺利完成升级过程。
18075 1
【开发IDE升级】如何对IDEA版本进行升级
|
Java Maven Spring
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
这篇文章介绍了在IntelliJ IDEA社区版中创建Spring Boot项目的三种方法,特别强调了第三种方法的详细步骤。
16776 0
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
|
应用服务中间件 Windows
震惊!idea 2021 社区版手把手安装,超详细过程,新手一看就会 如何安装低版本的IDEA? IDEA安装过程中版本冲突怎么办 idea最新版安装!
本文提供了一个详细的指南,用于安装2021年社区版的IntelliJ IDEA,包括如何处理版本冲突和完成安装过程。
2276 2
震惊!idea 2021 社区版手把手安装,超详细过程,新手一看就会 如何安装低版本的IDEA? IDEA安装过程中版本冲突怎么办 idea最新版安装!
|
Java 程序员 编译器
Scala 基础语法
Scala 基础语法
238 2
|
Java Scala
Scala 教程
Scala 教程
304 2
|
Java 关系型数据库 开发工具
idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案
本文提供了解决方案,如何在IDEA中创建Spring 2.X版本的项目并使用JDK8,尽管Spring 2.X已停止维护且IDEA不再直接支持,通过修改pom.xml或使用阿里云的国内源来创建项目。
2827 0
idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案
idea 2020.2及2020.3版本的安装和激活
idea 2020.2及2020.3版本的安装和激活
11138 13
|
开发工具 git
成功解决 IDEA 2020 版本 代码报错不提示的几种方案
这篇文章提供了几种解决IntelliJ IDEA 2020版本中代码报错不提示问题的方案,包括通过修改文件夹权限、暂存本地更改后进行git pull,以及在git pull后应用暂存的更改并提交代码到远程仓库的方法。
|
关系型数据库 MySQL
MySQL 保姆级教程(七):用正则表达式进行搜索
MySQL 保姆级教程(七):用正则表达式进行搜索