2014-11-01 95 views
0

目前我正在尋找一種方式來獲得的名稱和圖標的代碼中使用正則表達式的獲取名稱和圖標的使用正則表達式

.hif-glyph:before { content: '\e800'; } /* '' */ 
.hif-glyph-1:before { content: '\e801'; } /* '' */ 
.hif-glyph-2:before { content: '\e802'; } /* '' */ 

名稱的代碼是沒有問題的:.(.*)(?=:before { content:)

這將匹配.hif-glyph-N而不是:before { content:。但不,我需要添加'\e800'沒有:; } /* '' */和匹配後,我需要結合這件事,並與一個正則表達式......但我真的不知道此刻。

http://regexr.com/39r58

更新:

我現在還可以找到名稱:與:'\\e(\d*|\w*)',但我不能弄清楚如何將這些對正則表達式

回答

1

試試這個,希望能對大家有所幫助。

.(.*)(?::before { content:)(.*)(?:;.*) 
+0

http://regexr.com/39r5q這將匹配整條線? – DominikAngerer 2014-11-01 21:17:34

+0

是的,你是對的,它會匹配整條線,但我們總是可以通過使用捕獲組(..)來分隔你想要的。可能我誤解了你對這個問題的期望:) – 2014-11-02 16:31:14

+0

不得不給你最高回答的問題 - 你是第一個爲我的需求做好準備的人。 :)只是不知道捕獲組的事情。 – DominikAngerer 2014-11-03 20:10:49

1

好的結合,得到了比我要更容易思想 - 經過測試和測試 - 閱讀正則表達式的作業...

(([^\.]+?)(?=:before { content:)|'\\e(\d*|\w*)') 

匹配我需要的部分。

http://regexr.com/39r5e

0

這裏的另一種方法:

\.([^:]+):[^']+'([^']+) 

說明:

\.  # match a period 
([^:]+) # capture everything not a colon : 
:  # match colon 
[^']+' # match everything up to single quote 
([^']+) # capture everything that is not a single quote, i.e., everything between the quotes 
+0

這也將匹配\t \t 這也將匹配「:前{內容:」 ......我想這對regexr.com – DominikAngerer 2014-11-01 21:17:02

+0

但你想要的文字是在捕捉組。 – alan 2014-11-03 22:14:05

1

您可以使用下面的正則表達式基於您想要的輸出。

([^.:]+):[^']+'([^']+)' 

Live Demo

+0

這也會匹配':before {content:' – DominikAngerer 2014-11-01 21:16:08

+0

是的,但它不是什麼大不了的,因爲你想要的匹配結果是在捕獲組中'(...)' – hwnd 2014-11-01 22:09:35

+0

我一直認爲我想要的匹配得到應該是最後的比賽。對於捕獲組來說你的意思是什麼? – DominikAngerer 2014-11-02 00:19:17