Ошибка в сопоставлении Groovy Regex. Что означает эта ошибка?

Вы можете изменить стиль непосредственно для сцены, используя класс .root:

.root {
    -fx-background-image: url("https://www.google.com/images/srpr/logo3w.png");
}

Добавьте это в CSS и загрузите его как «Улук Бий», описанный в его ответе.

1
задан Corion 18 January 2019 в 07:31
поделиться

1 ответ

Ваше регулярное выражение не находит соответствия, и группа соответствия 0 не инициализирована. Вам нужно использовать более безопасное регулярное выражение и всегда проверять, есть ли совпадение, прежде чем пытаться получить доступ к какой-либо группе:

def redirectQuery = "&callbackUri=someValue"
def callbackUriMatch = redirectQuery =~ /(?<=[&?]callbackUri=)[^&]*/
if (callbackUriMatch) {
    println callbackUriMatch.group()
}

См. Groovy demo

Здесь, [ 111] является java.util.regex.Matcher объектом. С помощью if (callbackUriMatch) выполняется проверка, найдено ли совпадение, и, если есть совпадение, вы можете получить доступ к callbackUriMatch.group(), всему совпадению.

Детали шаблона

  • (?<=[&?]callbackUri=) - если вы хотите получить значение параметра запроса, ему должно предшествовать & или ?, затем соответствовать вашему значение ключа и =, и этот шаблон обернут конструкцией lookbehind, которая не добавляет свой сопоставленный текст к значению совпадения
  • [^&]* - класс отрицательных символов, соответствующий 0 или более символам, отличным от & ].
0
ответ дан Wiktor Stribiżew 18 January 2019 в 07:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: