我在舊網站上工作,我需要修復我的YouTube鏈接。 例如,我有以下內容的字符串變量:「suEGD8aaSzI列表& playauto = 1」C#正則表達式 - 提取YouTube查詢字符串參數
<h1>title</h1>
<p>
some text here
.......
<iframe src="http://www.youtube.com/embed/suEGD8aaSzI?list&playauto=1" width="560" height="315" frameborder="0" scrolling="auto"></iframe>
.......
</p>
</p>
我試圖讓參數之外, 做到以下幾點:
lblContent.Text = Regex.Replace(ArticleContent, @"myRegularExpressionHere", "https://www.youtube.com/embed/$1", RegexOptions.IgnoreCase);
到目前爲止,它的最好的是我能找到的:
https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v\=))([\w-]{10,12})(?:[\&\?\#].*?)*?(?:[\&\?\#]t=([\dhm]+s))?(?=")
,但它是不夠的,因爲我只得到「suEGD8aaSzI」一一個參數,查詢字符串的其餘部分:「?list & playauto = 1」不包括在裏面。
幫助將非常感激。
嘗試拆分(/)上的url字符串,並且最後一個索引將爲您提供complate所需的字符串。但只有在你的查詢字符串中沒有任何斜線時,這纔會起作用。 – Manish
基本上,查詢從**?**符號開始,因此您可以執行** meUrl = meUrl.Substring(meUrl.LastIndexOf(「?」))**以僅獲取查詢字符串。然後你可以通過** var query = meUrl.Split(「&」,SplitOptions.IgnoreEmptyEntities)**解析查詢字符串。現在變量**查詢**應該包含類似** {「q1 = 123」,「q2 = somehting」} **的內容。 –
問題是我在這個字符串變量裏面有一個完整的html內容,所以我仍然需要提取這些外部的youtube鏈接。 – serg90