Я не могу заставить это регулярное выражение работать.Regex with lookahead
Вход выглядит следующим образом. Его действительно в одной строке, но я вставил разрывы строк после каждого \ r \ n, так что это легче увидеть, поэтому проверка пробелов не требуется.
01-03\r\n
01-04\r\n
TEXTONE\r\n
STOCKHOLM\r\n
350,00\r\n ---- 350,00 should be the last value in the first match
12-29\r\n
01-03\r\n
TEXTTWO\r\n
COPENHAGEN\r\n
10,80\r\n
Это может продолжаться с 01-31 и 02-01, обозначая еще одно новое совпадение (это даты).
Я хотел бы иметь в общей сложности 2 соответствий для этого ввода. Моя проблема в том, что я не могу понять, как смотреть вперед и соответствовать началу нового матча (две следующие даты), но не включать эти даты в первый матч. Они должны принадлежать ко второму матчу.
Трудно объяснить, но я надеюсь, что кто-то меня доставит. Это то, что я до сих пор, но его даже не близко:
(.*?)((?<=\\d{2}-\\d{2}))
Спички я хочу это:
1: 01-03\r\n01-04\r\nTEXTONE\r\nSTOCKHOLM\r\n350,00\r\n
2: 12-29\r\n01-03\r\nTEXTTWO\r\nCOPENHAGEN\r\n10,80\r\n
После того, что я могу легко отделить столбцы с \ г \ п.
Вы говорите, что ваша входная строка содержит «обратной косой г обратной косой п», а не символы новой строки? Это кажется довольно странным ... –