2016-03-04 150 views
0

我是新來的正則表達式,我有點困惑在它的工作。我的鏈接是選擇正則表達式的正則表達式中間值

<a href="https://vimeo.com/107828076">Embed</a>

從這個標籤,如果<href>內在價值是「嵌入」,那麼到.COM後立即來臨的價值必須被選中。

我已經嘗試過這種表情,

`<a(?:\s+href="(?:https://.*?/([^"]*))"\s*.*?)>(?:.*?(?i)Embed.*?)</a>` 

我能有一些更好的表達來解決這個問題?

+0

什麼語言/正則表達式引擎去使用? – kolejnik

+0

我在c工作# –

回答

0

我認爲這是positive lookahead的典型例子。你必須做的邏輯是尋找Embed。如果您的要求只是Embed,然後查找>Embed<,然後捕獲.com後面的內容。遵循正則表達式達到相同。

正則表達式:<a.*\.com\/([^"]*)(?=.*\>Embed\<\/a>.*)

標誌使用: - g如果你正在做一個全局搜索。

說明:

  • (?=.*\>Embed\<.*)查找Embed只有

  • <a.*\.com\/([^"]*)捕捉.com後一切直至收盤"只有如果<a>存在

注:.com也將匹配。但是因爲你只需要一些東西,你可以使用捕獲的組\1$1,無論你的正則表達式風格支持。

Regex101 Demo

+0

感謝您的建議,但我的問題是,如果我提到這樣的標籤'Embed'。我想獲取內部href標籤號碼。 –

+0

@Balavinoth:請你清楚最後一點'如果我提到標籤'。 – 2016-03-04 14:28:20

+0

@Balavinoth:我已更新我的答案以符合您的要求。 – 2016-03-04 15:32:39