Регулярное выражение Java для поиска в строке - PullRequest
1 голос
/ 30 ноября 2010

Как вы будете обрабатывать следующую строку:

[p('WHITE'),p('GREEN'),p('GREEN','RED'),p('GREEN','YELLOW'),p('GREEN','YELLOW','RED')]

, чтобы получить список узлов, как предлагается в ответах.

1 Ответ

4 голосов
/ 30 ноября 2010

Зависит от того, насколько сложными могут быть выражения.Я бы определенно написал для него подходящий синтаксический анализатор, поскольку только тогда я могу быть уверен, что сделал это правильно.Кроме того, я проанализирую строку в абстрактном синтаксическом дереве, чтобы в конце у меня автоматически появилось красиво смоделированное дерево объектов:

class Node { ... }

class StringLiteral extends Node {
  public String getValue() { ... }
}

class Term extends Node {
  public String getName() { ... }
  public int getArity() { ... }
  public Node getArgument(int index) { ... }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...