在scala.util.matching.Regex trait MatchData我看到有對組名支持,我認爲這是有關(Regex Named Capturing Groups)斯卡拉正則表達式命名捕獲組
但由於Java does not support groupnames until version 7按照我的理解(ref),斯卡拉2.8.0版( 。Java的熱點(TM)64位服務器VM,Java 1.6的給了我這樣的例外:在Scala中支持
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)
所以現在的問題是命名捕獲組,如果是這樣的任何例子在那裏
? 0
謝謝。沒有爲此重載RichString.r。 – oluies 2010-06-12 18:57:00
這仍然是與Java7在scala 2.11中的行爲? – javadba 2015-09-21 19:13:49
@javadba它仍然是。現在你也可以做'val pattern =「」「(\ w *)(\ w *)」「」。r(「firstName」,「lastName」);' – Majki 2015-10-22 07:37:21