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字符串定义正则表达式