2016-11-06 31 views
-1

這裏是一個例子文本:正則表達式匹配的字符串中包含特定詞到定界符

div data-bigurl="https://media-cdn.tripadvisor.com/media/photo-o/0d/4c/82/42/sala.jpg"> 

div data-bigurl="https://media-cdn.tripadvisor.com/media/photo-t/0d/4c/82/42/sala.jpg"> 

div data-bigurl="https://media-cdn.tripadvisor.com/media/photo-s/0d/4c/82/42/sala.jpg"> 

div data-bigurl="https://media-cdn.tripadvisor.com/media/photo-o/0d/4c/82/42/prova.jpg"> 

我需要匹配起始分隔符,一個正則表達式[數據bigurl =「]和結束定界符[\」>]和裏面包含「photo-o」這個詞。我試過^(?=.*\bphoto-o\b).*$但沒有分隔符。

請檢查http://www.rubular.com/r/Vsw6OpBjnw

+0

我認爲一個HTML解析器可能是一個更好的方法去這裏。你可以爲每個標籤提取'databig-url'屬性,然後運行一個正則表達式。 –

+0

安德烈請你澄清一下?顯示您想要的字符串或子字符串作爲結果。 _「匹配開始分隔符[data-bigurl =」]和結束分隔符[\「>]」_聽起來有點奇怪。正則表達式中的_match_是來自正則表達式的結果文本。我懷疑你會想要一個'data-bigurl =「'結果...... O no? – tmslnz

回答

0

使用lookaround斷言,從結果中排除匹配的字符:

(?<=div data-bigurl=\")(.*\bphoto-o\b.*)(?=\") 

請檢查:http://www.rubular.com/r/jHarfKN29j

+0

注意看後面'(?<=',並不是所有的引擎都支持它(JS是最受歡迎的一個...) – tmslnz

+0

好評,但這裏的問題是在Ruby(請參閱提供的示例) – Bruno

+0

它爲我工作。謝謝 –

相關問題