регулярное выражение - синтаксический анализ расположения пути к классам - PullRequest
0 голосов
/ 15 февраля 2012
$JAR_REPO/nlb/grbox/smnt.jar

Я хочу получить строку между $ и first /, и она будет заменена некоторой другой строкой.

  1. Что такое регулярное выражение для получения только JAR_REPO сверху?
  2. Могу ли я использовать Regex, чтобы получить фактическую строку, например, сопоставление с шаблоном (любой метод) вернет строку JAR_REPO?

Пожалуйста, помогите.

Спасибо.Скважины

Ответы [ 2 ]

2 голосов
/ 15 февраля 2012
\$([^/]+)/.*

или, как строка Java:

"\\$([^/]+)/.*"

Строка JAR_REPO будет group(1):

Pattern pattern = Pattern.compile("\\$([^/]+)/.*");
Matcher matcher = pattern.matcher(yourstring);
if (matcher.find()) {
    String jarRepo = matcher.group(1);
}
0 голосов
/ 28 февраля 2012

Такой тип подхода рекурсивного синтаксического анализа может быть решен с использованием логики интерпретатора шаблона вместе с подходом синтаксического анализа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...