2014-09-30 31 views
-1

傢伙CSS解析出的CSS規則塊

/** 
    Correct default cursor behaviour across the site 
    relies on body having cursor: default below. 
*/ 
* { font-size: 12em; } 
div { 
    cursor: inherit; 
} 
html, 
body, 
#main-view-target { 
    height: 100%; 
    width: 100%; 
    margin: 0; 
    padding: 0; 
    border: none; 
    cursor: default; 
    background: url("{ROOT}../img/bg.png")no-repeat; 
} 

這樣的片段需要用正則表達式解析出所有屬性的塊,但是{ROOT | VERSION}元的指令,不要讓我這樣做。 如何省略該指令?

+0

您正在使用什麼樣的工具。這是我們需要幫助的最少信息。 – nhahtdh 2014-09-30 09:28:31

+0

歡迎來到[so]。這裏的問題應該顯示研究努力或嘗試。 [你有什麼嘗試?](http://whathaveyoutried.com)請參加__ [遊覽] __。 – Unihedron 2014-09-30 09:53:19

+1

X/Y問題;你不需要(Y)用正則表達式解析所有的屬性塊;相反,你需要(X)找到某個問題的解決方案(這是什麼?),你認爲**的解決方案是用正則表達式解析屬性塊。一般來說,你不應該試圖用正則表達式解析CSS,而不是解析HTML。瀏覽器和它的API知道如何比你更有效和更強大地解析事物。在這種情況下,瀏覽器已將規則解析爲其樣式表對象,您可以使用例如'document.styleSheets [0] .cssRules [1] .style.backgroundImage'檢查和修改其值。 – 2014-09-30 09:54:45

回答

0
({(?>[^}]+|(?:(?<={ROOT)|(?<={VERSION))})*}) 

Demo

+1

我已經編輯了關於downvotes的投訴。 __不要在您的帖子中添加噪音___,請將評論用於與帖子相關的討論。閱讀更多:[是否有一個會員資格預審過程,以消除'噪音'](http://meta.stackoverflow.com/q/254448/3622940) – Unihedron 2014-09-30 10:08:54

+0

它可能是更一般的,因爲我又增加了一個佔位符{設置:[anyName]}和這種模式不再工作。試圖玩它,但沒有成功。 – setty 2014-10-08 14:25:57