2011-03-19 54 views
0

我正在完成一些代碼,我幾乎完成了我的代碼,但我沒有在這裏發佈代碼,因爲這是巨大的,我複製了一個類名從一個div到另一個div,我想從該類中提取一個數字,該類總是遵循以下模式。該類將始終在數字前有ColorSlice,在數字後有Mouseover。如何找到字符串中的數字模式

類名

ColorSlice1MouseOver 
ColorSlice1MouseOver 
ColorSlice12MouseOver 
ColorSlice32MouseOver 

我想用正則表達式來提取的優雅時尚這個字符串的數字左右,我可以寫串的功能,但我想可能有更好的方法來做到這一點。 感謝任何幫助。

回答

3

怎麼樣這個表達式(假設你在JavaScript變量海峽原來的CSS類名):

num = str.replace(/ColorSlice([0-9]+)MouseOver/, "$1"); 
+0

這兩個答案都可以工作 – kobe 2011-03-19 17:22:23

+2

'/ ColorSlice(\ d +)MouseOver /' – 2011-03-19 17:25:00

+0

+1但是我會在表達式的開頭添加一個'^'錨點 - 這將允許它在失敗的情況下更快地失敗,比賽。細節,細節... – ridgerunner 2011-03-19 17:27:45

1
"ColorSlice1MouseOver".replace("ColorSlice", "").replace("MouseOver", ""); 
+0

這兩個答案的工作,但打算學習正則表達式一點,謝謝您回答shah – kobe 2011-03-19 17:22:51

+0

這將不會工作時,會有一個字符串'ColorSliceOneMouseOver' @ anubhava的答案僅適用於數字。 – 2011-03-19 17:26:09

+0

@Robert,對於我來說,這些字符串之間總是會有數字,所以我現在要回答這個問題,再次感謝羅伯特。 – kobe 2011-03-19 17:28:37