Я использую шаблон регулярного выражения Java в приложении, которое разрешает доступ только ко всему значению совпадения (то есть я не могу использовать группы захвата).
Я пытаюсь извлечь значения из моего образца текста:
C02 SURVEY : 2010 F10446P BONAPARTE 2D
В приведенном выше примере мне нужно проверить ключевое слово SURVEY
и извлечь значение после этого :
. И я хотел, чтобы мой вывод был:
2010 F10446P БОНАПАРТ 2D
Я использовал шаблон (?<=(?i)survey\s{2}[:])(?:(?![\n]).)*
В этом шаблоне я жестко запрограммировал пробелы равными 2 (\s{2}
), которые могут варьироваться, а не постоянное значение.
Мне нужно использовать квантификаторы с операцией просмотра назад.
Если есть какой-либо другой вариант, пожалуйста, дайте мне знать.
(?i)(?<=survey\s{1,999}:).*
- person revo   schedule 01.06.2017(?i)(?<=survey\s{0,100}:).*
, чтобы сопоставить ноль или более символов послеsurvey
и от нуля до 100 пробелов, за которыми следует:
. Если это механизм регулярных выражений Java, он должен поддерживать квантификаторы ограничения в ретроспективе. - person Wiktor Stribiżew   schedule 01.06.2017