2014-10-28 83 views
0

這個表達式:PHP正則表達式:匹配模式 「網址()」

$pattern = '/url\(([^)]+)\)/'; 

匹配CSS文件url(...)之間的一切。問題:如果有引號,如:url('...'),它們也出現在返回的短語中。

如何返回沒有引號的短語,如果有的話?

+0

適用於單,雙引號.... – 2014-10-28 10:41:48

+0

同樣的故事一遍又一遍。有人問「如何用正則表達式解析<某些結構化語言>」。有人評論說「正則表達式不是工具,使用解析器」。有人回答一半的正則表達式,適用於特定情況。非常感謝,回答接受,故事結束。 – georg 2014-10-28 10:58:55

回答

1
url\(['"]?([^)]+?)['"]?\) 

這應該爲你做。製作' or "可選。

查看演示。

http://regex101.com/r/sU3fA2/27

+0

謝謝。我正在測試。它需要一段時間,因爲它獲取文件來生成一個大項目中的appcache清單:) – 2014-10-28 10:44:11

+0

它匹配也錯了,'url(bar)' – 2014-10-28 10:45:47

+0

我不知道他想要一個無效匹配 – 2014-10-28 10:48:06