Kotlin学习笔记(五十八)正则表达式

JavaRegex.java(Java中的正则表达式)

public class JavaRegex {
    public static void main(String[] args) {
        String source = "Hello,This is 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)); //打印匹配到的信息
        }
    }
}
Kotlin学习笔记(五十八)正则表达式_第1张图片
JavaRegex.java运行结果


KotlinUserJavaRegex.kt(在Kotlin中调用java的正则表达式)

fun main(args: Array) {
    val source = "Hello,This is my phone number:010-12345678." //原文本
    //正则式,在(三位数-八位数)的格式前后可以有任意文本
    val pattern = """.*(\d{3}-\d{8}).*"""
    //用正则式匹配文本获取匹配器
    val matcher = Pattern.compile(pattern).matcher(source)

    while (matcher.find()) { //匹配器进行匹配
        println(matcher.group()) //打印元文本信息
        println(matcher.group(1)) //打印匹配到的信息
    }
}
Kotlin学习笔记(五十八)正则表达式_第2张图片
KotlinUserJavaRegex.kt运行结果


KotlinRegex.kt(使用Kotlin中的正则表达式)

fun main(args: Array) {
    val source = "Hello,This is my phone number:010-12345678." //原文本
    val pattern = """.*(\d{3}-\d{8}).*""" //正则式

    //使用kotlin方法打印出匹配出的内容
    Regex(pattern).findAll(source).toList().flatMap(MatchResult::groupValues).forEach(::println)
}
Kotlin学习笔记(五十八)正则表达式_第3张图片
KotlinRegex.kt运行结果

你可能感兴趣的:(Kotlin学习笔记(五十八)正则表达式)