2017-06-23 35 views
0

我有一個字符串,我必須匹配並從中提取一個css類名稱。字符串:正則表達式:從具有多個類的字符串中提取css類

.c.-my-text-overlay-second 

課堂上,我要匹配必須包含text-overlay內或在類名的末尾。 所以在這種情況下,我想要提取的是.-my-text-overlay-second

我已經試過許多東西,但我要麼得到.c

(.*\..*?text-overlay.*) 

或者我只得到text-overlay

.*(\..*?media-overlay-active) 

什麼應該是正確的表達?

+0

也許你綁到做這種方式['\ [\ w - ] *文字重疊[。 \ w-] *'](https://regex101.com/r/O46hA0/2) – revo

+1

@revo這是正確的。偉大的正則表達式工作!該鏈接是有用的,我將能夠理解它是如何工作:) – Krystian

回答

1

您不應在正則表達式中使用貪婪點.*,因爲它會匹配從開始到下一個模式匹配的所有內容(如果存在)。這是匹配整個輸入字符串的原因,而text-overlay存在於其中。

你的正則表達式應該以點開始的,其餘應符合類的命名規則:

\.[\w-]*text-overlay[\w-]* 
相關問題