Kotlin中正则表达式分析

简介: 一、首先来看一下Java中的正则表达式的写法package cn.kotliner.java.regex;import java.

一、首先来看一下Java中的正则表达式的写法

package cn.kotliner.java.regex;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Created wangdong
 * 用正则表达式,从字符串中提取电话号码
 */
public class Main {
    public static void main(String... args) {
        String source = "Hello, This my phone number: 010-12345678. ";
        String pattern = ".*(\\d{3}-\\d{8}).*";
        Matcher matcher = Pattern.compile(pattern).matcher(source);

        while(matcher.find()){
            System.out.println(matcher.group());
            System.out.println(matcher.group(1));
        }
    }
}

运行结果:

Hello, This my phone number: 010-12345678. 
010-12345678

二、接下来看一下Kotlin中的正则表达式的写法

package cn.kotliner.kotlin.regex

import java.util.regex.Pattern

/**
 * Created by wangdong
 * 正则表达式
 */
fun main(args: Array<String>) {
    val source = "Hello, This my phone number: 010-12345678. "
    //用Raw字符串定义正则表达式
    val pattern = """.*(\d{3}-\d{8}).*"""

    //将正则规则传入到Regex中,调用findAll方法,将需要查询的源传进来
    //将它变成一个list,将它MatchResult打平用flatMap,得到groupValues集合,用forEach将他打印出坑了
    Regex(pattern).findAll(source).toList().flatMap(MatchResult::groupValues).forEach(::println)

}

运行结果:

Hello, This my phone number: 010-12345678. 
010-12345678

好啦,结束啦

目录
相关文章
|
4月前
|
数据采集 JSON 安全
简明指南:使用Kotlin和Fuel库构建JD.com分析
Kotlin是一门基于JVM的静态类型编程语言,以其简洁、高效、安全、跨平台等特点而著称。这门语言不仅适用于Android开发,还可用于服务器端和Web应用程序的开发。Fuel库作为一款轻量级的Kotlin HTTP客户端,提供了一套简洁易用的DSL(领域特定语言),使得发送HTTP请求和处理响应变得异常便捷。除此之外,Fuel还支持协程、异步操作、JSON处理以及文件上传等多种功能,以满足各种网络编程需求。
简明指南:使用Kotlin和Fuel库构建JD.com分析
|
算法 Java Android开发
抽丝剥茧聊Kotlin协程之协程异常处理机制分析
抽丝剥茧聊Kotlin协程之协程异常处理机制分析
抽丝剥茧聊Kotlin协程之协程异常处理机制分析
|
Kotlin
【Kotlin】扩展函数作用域分析 ( 扩展函数导入 | 扩展函数重载 | 扩展函数作用域优先级 )(一)
【Kotlin】扩展函数作用域分析 ( 扩展函数导入 | 扩展函数重载 | 扩展函数作用域优先级 )(一)
161 0
【Kotlin】扩展函数作用域分析 ( 扩展函数导入 | 扩展函数重载 | 扩展函数作用域优先级 )(一)
|
Kotlin
【Kotlin】扩展函数作用域分析 ( 扩展函数导入 | 扩展函数重载 | 扩展函数作用域优先级 )(二)
【Kotlin】扩展函数作用域分析 ( 扩展函数导入 | 扩展函数重载 | 扩展函数作用域优先级 )(二)
201 0
【Kotlin】扩展函数作用域分析 ( 扩展函数导入 | 扩展函数重载 | 扩展函数作用域优先级 )(二)
|
存储 Kotlin
【Kotlin】扩展属性 ( 扩展变量属性 | 扩展常量属性 | 注意事项 | 本质分析 )
【Kotlin】扩展属性 ( 扩展变量属性 | 扩展常量属性 | 注意事项 | 本质分析 )
129 0
|
Java Kotlin
Kotlin集合框架分析
一、Kotlin中集合框架和Java集合框架特别相似 掌握以下例子就Ok了 package cn.kotliner.kotlin.
909 0
|
Java C# Kotlin
Kotlin泛型强势分析
一、什么是泛型 1.泛化的类型或者说是类型的抽象 2.鸭子类型在静态语言中的一种近似实现 二、泛型的实现机制 1.何为真泛型?(C#) 2.何为伪泛型?(Java,Kotlin) 三、首先来看一下JAVA和Kotlin中的伪泛性 但是如果在C#语言中,他就是真泛型了,它不仅仅存在于编译期,也存在于运行期,它是没有任何问题的。
1120 0
|
XML 安全 Java
使用Kotlin 1.1.5 的REPL 来简单分析一下Java 9 中的$ jmod list java.base.jmod
$ jmod list java.base.jmod 命令行列出了 模块 java.base.jmod 中所有文件(.class文件, .dat, .jar, .
1224 0
《Kotin 极简教程》第15章 Kotlin 文件IO操作、正则表达式与多线程
第15章 Kotlin 文件IO操作与多线程 《Kotlin极简教程》正式上架: 点击这里 > 去京东商城购买阅读 点击这里 > 去天猫商城购买阅读 非常感谢您亲爱的读者,大家请多支持!!!有任何问题,欢迎随时与我交流~ 我们在使用 Groovy 的文件 IO 操作的时候,感觉非常便利。
1881 0
|
自然语言处理 Java 开发者
Kotlin 源代码编译过程分析
Kotlin 源代码编译过程分析 正式上架:《Kotlin极简教程》Official on shelves: Kotlin Programming minimalist tutorial 京东JD:https://item.
1943 0