2014-09-19 46 views
0

在此表達我想提取與HREF開始字符串=直到它找到右括號。我想找到字符串開始與href =直到右括號爲整個表達式。如何做到這一點查找是正則表達式與起始和結束字符

String s= [a href="http://myimagefactorycollection.files.wordpress.com/2014/09/ 
    2db83fcf95c5fc036a00abfb412f50e4.jpg"][a href="https://myimagefactorycollection.files.wordpress.com/2014/09/0e397a47f88e18f8fb91d17db18c7edd-copy.jpg"] 

The output should be 
"http://myimagefactorycollection.files.wordpress.com/2014/09/ 
    2db83fcf95c5fc036a00abfb412f50e4.jpg" 
"https://myimagefactorycollection.files.wordpress.com/2014/09/0e397a47f88e18f8fb91d17db18c7edd-copy.jpg" 

回答

1

您可以使用這樣的正則表達式:(?<=\[a href=)(.*?)\]

demo here

PS:在演示中,檢查RHS上的比賽信息知道已匹配。

說明:

(?<=\[a href=)(.*?)\] ?<=爲正向後看,即,內容將只有當他們被[a href= preceeded匹配。

接下來,我們要逃避[,因爲它們在正則表達式的特殊含義。這同樣適用於]

而且,我們不應該在輸出中包含的],所以我們使用(.*?)\][a herf=]之前,捕捉一切。

.*?量詞使它lazy(非貪婪),以便它匹配的第一個]而不是最後]

+0

u能請解釋一下這是什麼意思新建正則表達式 – 2014-09-19 07:03:45

+0

@RameshRaju - 完成。檢查我的編輯。 – TheLostMind 2014-09-19 07:09:39

+0

模式GetCddata = Pattern.compile( 「(<= \ [A HREF =)(*)\。?]?」);它說無效的轉義序列\ B \牛逼\ n \˚F\ r \」 \」 \\ – 2014-09-19 07:18:35

相關問題