Kotlin Regex任命团体支持

时间:2016-05-07 12:41:51

标签: regex kotlin regex-group

Kotlin是否支持指定的正则表达式组?

命名的正则表达式组如下所示:Add(2)(2) //4 Add(2)(2)(3) // 7 Add(3)(2)(3)(0) // 8 function Add(number){ return function(number1){ return function(number2){ return number+number1+number2; } } } alert(Add(2)(2)(2));

2 个答案:

答案 0 :(得分:15)

根据this discussion

  

这将在Kotlin 1.1中得到支持。   https://youtrack.jetbrains.com/issue/KT-12753

Kotlin 1.1 EAP已经可以试用了。

"""(\w+?)(?<num>\d+)""".toRegex().matchEntire("area51")!!.groups["num"]!!.value

您必须use kotlin-stdlib-jre8

答案 1 :(得分:7)

从Kotlin 1.0开始,Regex类没有提供访问MatchGroupCollection中匹配的命名组的方法,因为标准库只能使用JDK6中可用的regex api,它没有支持对于命名组。

如果您定位JDK8,则可以使用java.util.regex.Patternjava.util.regex.Matcher类。后者提供group方法来获取命名捕获组匹配的结果。