Регулярное совпадение до первого совпадения класса

Я собираюсь построить регулярное выражение, которое поможет мне определить первое вхождение матча.

Мой текущий регулярное выражение"(.*)[Cc][Aa][Ss][Ee][^a-zA-Z\\d]*(\\d\\d*)[^a-zA-Z\\d]*(.*)"

Я пытаюсь выяснить, содержит ли входная строка слово «case» (без учета регистра), затем любое количество специальных символов и число; Я хочу получить 3 части текста. Скажи, что моя входная строка"RE: FW: case:-1234: there is some description" Используя это регулярное выражение, я могу получить,"RE: FW: ", "1234", "there is some description".

Это нормально, но если моя строка ввода"RE: FW: case:-1234: This is in reference to case 789 reopening" Тогда мое регулярное выражение возвращается,"RE: FW: case:-1234: This is in reference to", "789", "reopening".

То, что я хотел бы получить, это"RE: FW: ", "1234", "This is in reference to case 789 reopening".

Я новичок в регулярных выражениях, поэтому любая помощь очень ценится.

Примечание: я работаю над Java-инструментом, так что Java-совместимое регулярное выражение было бы неплохо.

Ответы на вопрос(2)

Ваш ответ на вопрос