Я пишу SCALA анализатор для разбора следующего входа (х номер): /hdfs://xxx.xx.xx.x:xxxx/path1/file1.jpg+1Как исправить ошибку в синтаксическом анализе, используя scala parser?
trait pathIdentifier extends RegexParsers{
def pathIdent: Parser[String] ="""^/hdfs://([\d\.]+):(\d+)/([\w/]+/(\w+\.\w+)$)""".r
}
class ParseExp extends JavaTokenParsers with pathIdentifier {
def expr: Parser[Any] = term~rep("+"~term | "-"~term)
def term: Parser[Any] = factor~rep("*"~factor | "/"~factor)
def factor: Parser[Any] = pathIdent | floatingPointNumber | "("~expr~")"
}
I я получаю следующую ошибку:
[1.1] failure: `(' expected but `/' found
Невозможно решить проблему!
@Rubbic Parsing '(/hdfs://111.22.33.4:5555/path1/file1.jpg+1)' работает для меня. –
Я получаю эту ошибку: -bash: синтаксическая ошибка около неожиданного токена '/hdfs://111.33.50.2:8020/path1/path2/file1.jpg+1 ', где я не получаю его без скобок – Rubbic
' (/ hdfs: //111.22.33.4: 5555/path1/file1.jpg + 1) 'является' expr' в скобках (третий вариант парсера 'factor'). Каков точный ввод, который вы пытаетесь проанализировать? –