zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【45】kotlin 正则

Kotlin 正则 45
2023-09-27 14:27:38 时间

java正则

package com.yzdzy.kotlin.chapter8.regex;

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

public class MainJava {
    public static void main(String... args){
        String source =  "Hello ,this muy phone number:010-123456789";
        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));
        }
    }
}

kt 同样支持java 但是也有自己的正则方法

package com.yzdzy.kotlin.chapter8.regex

import java.util.regex.Pattern


    fun main(args: Array<String>) {
        val source = "Hello ,this muy phone number:010-123456789"
        val pattern = ".*(\\d{3}-\\d{8}).*"
        val matcher = Pattern.compile(pattern).matcher(source)
        while (matcher.find()) {
            println(matcher.group())
            println(matcher.group(1))
        }
        ktRegex()
    }


fun ktRegex(){
    val source = "Hello ,this muy phone number:010-123456789"
    val pattern = """.*(\d{3}-\d{8}).*"""
    Regex(pattern).findAll(source).toList().flatMap (MatchResult::groupValues).forEach(::println)
}

输入 


Hello ,this muy phone number:010-123456789
010-12345678
Hello ,this muy phone number:010-123456789
010-12345678

kt 可以使用 """RawString"""

用Raw字符串定义正则表达式