Одним из возможных решений этой задачи будет использование Шаблон класса .
Вот пример кода:
public class RegexDemo {
public static void main(String[] args) {
String test = "{q=code=in=(100,110,120,100);product=in=(393,393);ID==33323323, myInfo==test, offset=0, limit=200}";
printMyInfoValue(test);
}
private static void printMyInfoValue(String test) {
Pattern pattern = Pattern.compile("\\s+myInfo==(\\w+)");
Matcher matcher = pattern.matcher(test);
if (matcher.find()) {
System.out.printf("My Info value: %s\n", matcher.group(1).trim());
}
}
}
Вывод:
test
В регулярном выражении мы проверяем, если myInfo
представлен в тексте. Если да, просто сгруппируйте результаты с круглыми скобками ()
.
Для группы с индексом 0 group(0)
у нас будет полное значение регулярного выражения:
myInfo == test
Для 1 группы group(1)
только значение:
test
Это именно то, что мы ищем.
Если ключ myInfo
не представлен для ввода text
-> нет результата печати.