Как насчет
string.split("&\\w+=")
Это работает с вашим примером:
System.out.println(Arrays.asList("1&area_id=54&cid=3".split("&\\w+=")));
вывод
[1, 54, 3]
Звонок на string.split("&\\w+=")
читает на английском языке: Splitstring
при каждом совпадении для параметра регулярного выражения, а затем возвращать все подстроки между сопоставленными токенами в виде массива.
Регулярное выражение гласит: Совпадение всех подстрок, начинающихся с "&"
, за которыми следует по крайней мере ("+"
) один символ слова ("\\w"
, т. Е. Буквы, цифры и некоторые специальные символы, такие какподчеркивание из вашего примера), за которым следует "="
.Для более подробной информации см. Javadoc для java.util.regex.Pattern