Я записал метод для проверки входной строки с помощью Regex
и я строю Regex для каждой входной строки
, и, если найдено, я извлекаю ключ и значения < /p>
public Matcher matchRegExPattrenWithInputString(String inputString) {
LOGGER.info("Mathcing the Input String " +inputString);
Matcher matcher = null;
for (Pattern pattern : commandRegExCacher.getRegExPattrenCache()) {
matcher = pattern.matcher(inputString);
System.out.println(inputString);
System.out.println("Matching String"+matcher);
LOGGER.info("Mathcing pattern" +matcher);
if (matcher != null && matcher.find()) {
LOGGER.debug("Input String matched ");
break;
} else {
matcher = null;
}
}
< /code>
CommandRegexCacher.getRegexPattrencache () - это карта, где я строю шаблоны для всех требуемых команд < /p>
pattern= (?i)(^\s?)(Watch\b\s?)([a-zA-Z0-9\/\\^$*+?.()|\[\]{}'"\s]+)$
pattern= (?i)(^\s?)(Watch Channel\b\s?)([a-zA-Z0-9\/\\^$*+?.()|\[\]{}'"\s]+)$
pattern= (?i)(^\s?)(Tune\b\s?)([a-zA-Z0-9\/\\^$*+?.()|\[\]{}'"\s]+)$
pattern= (?i)(^\s?)(Tune To\b\s?)([a-zA-Z0-9\/\\^$*+?.()|\[\]{}'"\s]+)$
pattern=(?i)(^\s?)(goto\b\s?)([a-zA-Z0-9\u0590-\u05fe-\/\\^$*+?.()|\[{}'"\s]+)$
pattern=(?i)(^\s?)(pi\b\s?)([a-zA-Z0-9\u0590-\u05fe-\/\\^$*+?.()|\[\{}'"\s]+)$
< /code>
Таким образом, в требуемых командах создается так много шаблонов. (? i) (^\ s?) (смотреть \ b \ s?) ([a-za-z0-9 /\^$*+?>
Подробнее здесь: https://stackoverflow.com/questions/492 ... and-values
Проверка regex matchter.find () не находит точный ключ и значения ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение