我想解析一个包含多行的文件。我将循环浏览换行符以提取所需的信息。我正在尝试编写一个使用正则表达式的m3u解析器-我已经成功使用字符串位置和子字符串制作了一个解析器。
我想分析这一行:
#EXTINF:-1 tvg-ID="NPO 2 HD NL" tvg-name="NL : Npo 2" tvg-logo="http://www.iptv-plus.net:25461/images/Astra23picon/1_0_19_17C0_C82_3_EB0000_0_0_0.png" group-title="Holland",NL : Npo 2
所以我想出了这些正则表达式:
(?<=group-title=")(.*?)(?=")
(?<=tvg-name=")(.*?)(?=")
(?<=tvg-logo=")(.*?)(?=")
(?<=tvg-ID=")(.*?)(?=")
(?<=,)(.*?)$
这些将提取tvg标签,并从行尾(总是在最后一个逗号之后)提取名称。
我想将所有这些正则表达式放在一个正则表达式中,这样我就可以获得一个包含所有元素的数组。我尝试使用|但这是一个OR?我相信..我可以单独使用它们,但我认为将它们全部合为一体可能会更快?我也想创建命名组。但是当我将其更改为
(?<group><=group-title=")(.*?)(?=")
它将后向隐藏作为文本(<=)。.我以及如何将后向隐藏与命名组组合?我喜欢在javascript中使用正则表达式,但也可以实现一个可解析m3u文件并返回json的php。