一天学完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

相关文章
|
11月前
|
人工智能 自然语言处理 Java
DeepSeek 满血版在 VScode 和 IDEA 中怎么用?手把手教程来了
沉默王二分享了通义灵码的使用教程,这款插件集成了DeepSeek-R1和Qwen等模型,支持Java、Python、Go等多种编程语言,适用于IDEA、VSCode等开发环境。它不仅能提供智能问答、代码补全和Bug修复功能,还能通过“AI程序员”实现多文件代码修改。体验流畅,算力充足,无需担心限流问题。文章详细介绍了安装步骤及各项功能的实际操作,展示了其在提升开发效率方面的强大实力。目前,通义灵码正持续优化,未来将带来更多惊喜。
2857 1
|
6月前
|
IDE Linux 开发工具
IntelliJ IDEA最新版安装下载教程及安装教程(附安装包)
本文介绍IDEA的下载与安装教程,包含获取下载地址、安装步骤及激活方法。需注意安装路径为英文目录,运行激活脚本时需管理员权限。按指引操作即可完成激活并使用。
7414 0
|
Java 应用服务中间件 API
Servlet开发流程 (里面有Idea项目添加Tomcat依赖详细教程)
本文详细介绍了Servlet的开发流程,包括在IntelliJ IDEA中添加Tomcat依赖的详细教程。通过上述步骤,开发者可以快速搭建并运行一个基本的Servlet应用,理解并掌握Servlet的开发流程对于Java Web开发至关重要。希望本文能够帮助开发者顺利进行Servlet开发,提高工作效率。
1467 78
|
人工智能 自然语言处理 Java
IDEA中使用DeepSeek满血版的手把手教程来了!
本文主要介绍阿里云推出的AI编码助手——通义灵码在代码编写、智能问答、bug修复等方面的功能。
IDEA中使用DeepSeek满血版的手把手教程来了!
|
人工智能 自然语言处理 Java
DeepSeek 满血版在 IDEA 中怎么用?手把手教程来了
DeepSeek 满血版在 IDEA 中怎么用?手把手教程来了
270 3
|
人工智能 自然语言处理 Java
DeepSeek 满血版在 IDEA 中怎么用?手把手教程来了
DeepSeek 满血版在 IDEA 中怎么用?手把手教程来了
|
人工智能 自然语言处理 Java
DeepSeek 满血版在 IDEA 中怎么用?手把手教程来了
DeepSeek 满血版在 IDEA 中怎么用?手把手教程来了
|
人工智能 自然语言处理 Java
IDEA中使用DeepSeek满血版的手把手教程来了!
IDEA中使用DeepSeek满血版的手把手教程来了!
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
1525 0
|
Java 程序员 编译器
Scala 基础语法
Scala 基础语法
193 2