在scala.util.matching.Regex trait MatchData中,我看到有支持组名的功能,我认为这与(Regex Named Capturing Groups)有关。
但是由于Java直到版本7才支持组名,据我所知(ref),Scala版本2.8.0(Java HotSpot(TM) 64-Bit Server VM,Java 1.6.给了我这个异常:
但是由于Java直到版本7才支持组名,据我所知(ref),Scala版本2.8.0(Java HotSpot(TM) 64-Bit Server VM,Java 1.6.给了我这个异常:
scala> val pattern = """(?<login>\w+) (?<id>\d+)""".r
java.util.regex.PatternSyntaxException: Look-behind group does not have an obvio
us maximum length near index 11
(?<login>\w+) (?<id>\d+)
^
at java.util.regex.Pattern.error(Pattern.java:1713)
at java.util.regex.Pattern.group0(Pattern.java:2488)
at java.util.regex.Pattern.sequence(Pattern.java:1806)
at java.util.regex.Pattern.expr(Pattern.java:1752)
at java.util.regex.Pattern.compile(Pattern.java:1460)
那么问题是Scala支持命名捕获组吗?如果支持,是否有任何示例可用?
val pattern = """(\w*) (\w*)""".r("firstName", "lastName");
- Majki