Smile
Старатель
- Регистрация
- 12 Ноя 2006
- Сообщения
- 157
- Реакции
- 11
- Автор темы
- #1
Привет всем, помогите правильно написать регулярку.....
есть много повторяющих строк:
frame= 726 fps=207 q=25.0 size= 4183kB time=28.44 bitrate=1205.0kbits/s
frame= 819 fps=204 q=25.0 size= 4785kB time=32.16 bitrate=1218.9kbits/s
frame= 912 fps=202 q=25.0 size= 5344kB time=35.88 bitrate=1220.0kbits/s
из этих строк нужно вытащить время из последней строки, для этого использую след. регулярку...
preg_match("/(frame=([^=]*) fps=[^=]* q=[^=]* L)?size=[^=]*kB time=([^=]*) bitrate=[^=]*kbits\/s[^=]*$/",$file,$out);
всё работает отлично, но иногда строки немного меняются в след. чего выше написанное выражение не работает....
изменившийся текст имеет след. вид:
frame= 1429 fps=118 q=20.0 size= 8555kB time=56.56 bitrate=1239.1kbits/s dup=0 drop=284
frame= 1493 fps=119 q=21.0 size= 8782kB time=59.12 bitrate=1216.9kbits/s dup=0 drop=296
frame= 1547 fps=118 q=20.0 size= 9017kB time=61.28 bitrate=1205.5kbits/s dup=0 drop=307
т.е. в конце добавляется dup=0 drop=307. Как сделать правильную регулярку чтоб работала и в тексте что с верху и в тексте что с низу? хелп
есть много повторяющих строк:
frame= 726 fps=207 q=25.0 size= 4183kB time=28.44 bitrate=1205.0kbits/s
frame= 819 fps=204 q=25.0 size= 4785kB time=32.16 bitrate=1218.9kbits/s
frame= 912 fps=202 q=25.0 size= 5344kB time=35.88 bitrate=1220.0kbits/s
из этих строк нужно вытащить время из последней строки, для этого использую след. регулярку...
preg_match("/(frame=([^=]*) fps=[^=]* q=[^=]* L)?size=[^=]*kB time=([^=]*) bitrate=[^=]*kbits\/s[^=]*$/",$file,$out);
всё работает отлично, но иногда строки немного меняются в след. чего выше написанное выражение не работает....
изменившийся текст имеет след. вид:
frame= 1429 fps=118 q=20.0 size= 8555kB time=56.56 bitrate=1239.1kbits/s dup=0 drop=284
frame= 1493 fps=119 q=21.0 size= 8782kB time=59.12 bitrate=1216.9kbits/s dup=0 drop=296
frame= 1547 fps=118 q=20.0 size= 9017kB time=61.28 bitrate=1205.5kbits/s dup=0 drop=307
т.е. в конце добавляется dup=0 drop=307. Как сделать правильную регулярку чтоб работала и в тексте что с верху и в тексте что с низу? хелп