Я уверен, что есть простое решение, но оно застряло, так что, надеюсь, кто-нибудь может мне помочь.У меня есть несколько строк ввода, которые выглядят так:
FooABC
Foo XYZ123
FooFgh
Мне нужно регулярное выражение (в Java), которое даст мне:
ABC
XYZ123
Fgh
Лучшее, что я пришелдо сих пор получается:
[^Foo\s?].*$
Я думал, что это работает, пока я не заметил, что он удаляет заглавную букву F из Fgh.Можно ли как-нибудь заставить его точно игнорировать первые три символа и один или несколько пробельных символов, а затем просто захватить все остальное?
РЕДАКТИРОВАТЬ / УТОЧНИТЬ
Я должен иметьсказал, что я не могу использовать подстроку / заменить или что-то, что я обычно делал бы в этой ситуации, потому что это регулярное выражение будет введено в развернутый код, который в настоящее время не может быть обновлен.Код делает следующее:
Pattern pattern = Pattern.compile( regex );
Matcher matcher = pattern.matcher( data );
matcher.find();
String extracted = matcher.group();
и затем использует извлеченную строку в качестве ключа для поиска.Таким образом, он должен извлечь ключ за один проход.