1
我試圖符合以下視頻網址:與命令無關的正則表達式 - 有可能嗎?
<iframe width="420" height="315" src="//www.youtube.com/embed/F40ZBDAG8-o?rel=0" frameborder="0" allowfullscreen></iframe>
我有以下幾點:
^<iframe
(\swidth="\d{1,3}")?
(\sheight="\d{1,3}")?
(\salt=""[^""<>]*"")?
(\stitle=""[^""<>]*"")?
\ssrc="//(www.youtube.com|player.vimeo.com)/[-a-z0-9+&@#/%?=~_|!:,.;\(\)]+"
(\sframeborder="[^""<>]*")?
(\sallowfullscreen)?
\s?/?></iframe>$
這是工作,但我不能依賴於一個事實,即YouTube將始終提供嵌入遵循此結構的鏈接。如果他們將width
屬性移動到src
之後,我的正則表達式將失敗。
有沒有辦法做到秩序無關的分組,來解決這個問題?
你想匹配什麼?你想只得到src?或者你想從iframe中提取儘可能多的數據?另外,在一個真實世界的例子中,我會認爲'^ $'應該被移除 – HamZa
@HamZa - 試圖匹配總是有'src'屬性總是以'vimeo'或'youtube'開頭的'iframe'。其他屬性 - 標題,寬度等是可選的。需要關閉標籤。 – RobVious
@RobVious所以你甚至不需要寬度,高度,標題等?這意味着你可以簡單地使用'