2014-02-24 13 views
1

我試圖解析的ffmpeg的輸出字符串,以獲得視頻流的寬度和高度我如何做一個正則表達式查找第一個字符串後發現某個字符串的第一個實例

內容像這樣

Input #0 
... 
    Stream #0:0(eng): Video: blah blah blah, 1024x768 

Output #0 
... 
Stream #0:0(eng): Video: blah blah blah, 800x600 

我想捕捉的1024×768可靠的(而不是800×600)

我發現的東西,讓我接近:

((\d{2,4})x(\d{2,4})) 

這將匹配在輸出中找到1024x768和800x600。 我只是想第一個,我想,以確保返回的一個永遠是一個在輸入#0部分

我要的是,「正則表達式,找我numberxnumber的第一圖案來自後面的單詞視頻,它來自流#0之後「

我已經看遍了,發現一些關於反向引用的鏈接,但我不能得到它的工作。

+1

這似乎是很多塞進一個正則表達式。假設dot-matches-all和'^'和'$'都是''輸入#0。+(\ d {2,4})x(\ d {2,4})$'匹配行的開始/結束(並且在它和下一個「區段標題」之間確實存在分辨率:「輸出#0」)。但似乎這將更適合逐行分析。 – aliteralmind

回答

0

這個有用嗎?

(Input #0).*?(\d+x\d+) 

從第二捕獲組使用的值..

相關問題