使用ffmpeg和regex获取视频的“位置”

时间:2014-02-05 08:40:56

标签: c# regex ffmpeg

我有一个由 ffmpeg 制作的视频文件的元数据文本。

Metadata:
    major_brand     : qt  
    minor_version   : 0
    compatible_brands: qt  
    creation_time   : 2011-09-10 21:44:22
    model           : iPhone 4
    model-deu       : iPhone 4
    encoder         : 4.3.5
    encoder-deu     : 4.3.5
    date            : 2011-09-10T17:44:22-0400
    date-deu        : 2011-09-10T17:44:22-0400
    location        : +40.7329-073.9864/
    location-deu    : +40.7329-073.9864/
    make            : Apple
    make-deu        : Apple

如果我想从上面的文字中获取'location'值,我需要写什么正则表达式。我正在使用C#。

2 个答案:

答案 0 :(得分:0)

尝试使用下一个正则表达式模式:

location\s*:\s*(+\d+\.\d+-\d+.\d+\/)

子模式返回一个位置

或试试这个:

location\s*:\s*(\+\d+\.\d+-\d+.\d+\/)

答案 1 :(得分:0)

您需要使用的模式应为:

location[ ]+:[ ]+([0-9+-\.)\/

这适用于任何正则表达式引擎。获得坐标后,跳过第一个符号(加号或减号)并在第二个符号上拆分。

维克多的回答几乎是正确的,有两个要点:

  • 并非所有正则表达式引擎都支持\ s
  • 该位置可能以减号开头,可能包含较少的数字; -40 + 73是一个有效的位置,与上述答案不符。