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)); //打印匹配到的信息
        }
    }
}
JavaRegex.java运行结果

</br>

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

fun main(args: Array<String>) {
    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)) //打印匹配到的信息
    }
}
KotlinUserJavaRegex.kt运行结果

</br>

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

fun main(args: Array<String>) {
    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)
}
KotlinRegex.kt运行结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容