Я использую регулярное выражение в Java для извлечения данных из записей пользователей, как эти:вложенных скобки в Regex
String entry1 = "add to xx16,John Doe";
String entry2 = "add to ab20,John Doe;Richard Roe;John Stiles";
Они могут иметь несколько имен, но если у них есть их, они должны быть разделены точкой с запятой. Теперь я хочу, чтобы regex вернул мне эти параметры. Я придумал, что
Pattern pattern = Pattern.compile("add to ([a-z|\\d]*),([a-zA-Z]*\\s[a-zA-Z]*)[;([a-zA-Z]*\\s[a-zA-Z]*)]*");
Matcher matcher = pattern.matcher(entry);
matcher.matches();
//get inputs with matcher.group();
Это хорошо работает с записями, как entry1
, но не с entry2
. Кто-нибудь видит мою ошибку?
Какой выход вы ищете? – shmosel
это неправильное использование символьного класса '[...]': [[([a-zA-Z] * \ s [a-zA-Z] *)] ' –
В' entry2' (0) = «ab20», group (1) = «John Doe», группа (2) = «Richard Roe», группа (3) = «John Stiles» –