У меня есть что-то вроде этой строки.
XXXX ^^^ 141409i1 ^^^ XXXX.
Я хочу сопоставить эти 3 ^
в группе и группа ровно 2 раза. Я написал это, но это не похоже на работу.
(?:(\^){3}){2}
РЕДАКТИРОВАТЬ
Я должен разделить его и извлечь число в середине. Дело в том, что эта группа должна состоять ровно из 3 ^
и ровно 2 раза. Если первая группа имеет только 1 или 2 ^
, она прекращает сопоставление. Эта строка вводится пользователем, и если он вводит больше, чем эта строка, например XXXX^^^141409i1^^^XXXX^^^^XXXX
, то она не должна соответствовать последней группе, только первой 2. (Извините, если я слишком неоднозначен.)
РЕДАКТИРОВАТЬ2
Смысл упражнения состоит в том, чтобы разбить строку и получить число посередине, я написал эту строку, но проблема в том, что она соответствует каждому ^^^, и я хочу, чтобы совпадение совпадало только 2 раза.
String[] split = s.split("(\\^){3}");