0
我的輸入的一部分如下所示。斯卡拉分析器組合器中的Java正則表達式
Name
John Doe
Sons
Name
Son of John
28
:
Name
Jane Doe
Daughters
Name
Daughter of Jane
32
...
...
我的解析器是這樣的
rep("Name" ~> rep("[A-Z ]+[a-z ]+".r) ~> ("Sons Name" | "Daughters Name") ~> "[0-9]+")
不過貌似正則表達式rep("[A-Z ]+[a-z ]+".r)
也帶走Name
,Daughter of Jane
,Son of John
這將導致以下錯誤:
failure: `Daughters ' expected but `2' found
想知道是有一個簡單的方法來解決這個問題?
你想解析器返回數字匹配(我認爲這是一個人的年齡)的每個人,使得在給定的例子預期的解析結果將是'名單(28,32)' ? – edi
我想讓解析器返回'Name','Daughter/Son Name'和他們的'age'。 –