Javascript RegEx命名分组并合并

时间:2018-10-17 16:23:49

标签: javascript php regex

我想解析一个包含多行的文件。我将循环浏览换行符以提取所需的信息。我正在尝试编写一个使用正则表达式的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。

0 个答案:

没有答案