Что такое регулярное выражение, которое будет соответствовать строкам, предыдущая строка которых начинается с набора символов?
Я пытаюсь проанализировать файлы M3U, и мне нужно сопоставить строки, предыдущая строка которых начинается с #EXTINF:
Итак, если мы возьмем этот пример:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXTINF:11.54
ASMIK_tid_0000250058_m.600000-00000.ts
#EXTINF:8.51
ASMIK_tid_0000250058_m.600000-00001.ts
#EXTINF:11.76
ASMIK_tid_0000250058_m.600000-00002.ts
#EXTINF:10.05
ASMIK_tid_0000250058_m.600000-00003.ts
etc...
Я хочу извлечь только эти строки:
ASMIK_tid_0000250058_m.600000-00000.ts
ASMIK_tid_0000250058_m.600000-00001.ts
ASMIK_tid_0000250058_m.600000-00002.ts
ASMIK_tid_0000250058_m.600000-00003.ts
Я пробовал варианты этот ответ и это: (?#EXT.*\n)
но не повезло...
#
? - person Jerry   schedule 17.12.2013#EXT[^\r\n]*[\r\n]+([^#][^\r\n]+)
Строки, которые вы ищете, находятся в первой группе захвата. - person Jerry   schedule 17.12.2013(?<=#EXT[^\r\n]*[\r\n]+)[^#][^\r\n]+
со спичкой? Если это сработает, я удалю этот комментарий и поставлю его как ответ. - person Jerry   schedule 17.12.2013NSRegularExpression
является его частью. Я пытался использовать это, но у меня была та же проблема... Во всяком случае, ваш регулярное выражение работает, поэтому на данном этапе это проблема obj-c, которую я выясню в другом месте. Спасибо! - person Eric   schedule 18.12.2013