我正在寻找从pls,m3u和asx文件中提取网址的方法,
让我们考虑这两行字符串:
File=http://stream1:0000
<ref href="http://stream2.xyz"/>
我从/http\S*/g
开始查找以“http”开头的匹配项,直到行尾,它给出了以下结果:
http://stream1:0000
http://stream2.xyz"/>
所以我正在寻找一种方法来添加一个"
字符(不包括在内)的可选结尾,以便能够得到以下结果:
http://stream1:0000
http://stream2.xyz
这样做的方法是什么?
答案 0 :(得分:0)
您可以使用反向引用
(["']|)(http.+)\1
正则表达式说明:
(["']|)
:匹配"
或'
或无匹配(http.+)
:匹配字符串http
,直到行尾或后引用,并将其放入第二个捕获的组中。\1
:反向引用。匹配(["']|)
中的相同内容。 #1 注意:我已添加带双引号的单引号,因此这也适用于包含在单引号中的网址。如果还有其他字符可用于包围URL,则可以在字符类中添加这些字符。
要获取该网址,请使用第二个已捕获的群组(大多数语言/工具 $2
)
如果反向引用/捕获组不可行/可能,您可以使用以下正则表达式
http[^'"\n]*
正则表达式说明:
[^'"\n]*
会尽可能多地匹配非'
,"
或换行符的任何内容。
答案 1 :(得分:0)