2012-07-25 65 views
0

我想在JavaScript中使用正則表達式來匹配字符串中的「icon-」的實例,並將整個附加的單詞返回到分隔符(空格)。字符串的一個例子是正則表達式匹配整個單詞

ui-grid-ico-sort icon icon-up ui-icon-asc icon-user ui-icon ui-icon-triangle-1-n ui-sort-ltr 

在這種情況下,我只想匹配'icon-up'和'icon-user'。

到目前爲止,我嘗試了\ bicon-它似乎匹配圖標的每個實例 - 無論它在一個單詞(4個匹配)和\ bicon - [^'「] +中的位置如何, icon-

回答

3
(^|\s)icon-\S+ 

匹配以icon-開始到下一個空格字符的所有單詞

你將需要刪除的引入部分g空格字符,如果存在的話。沒有其他方式,因爲JavaScript不支持lookbehind斷言。

說明:

(^|\s) # Match start of string or whitespace 
icon- # Match icon- 
\S+  # Match one or more non-whitespace characters. 
+0

謝謝你提供的解釋 – 2012-07-26 07:41:58

0

使用的第一個實例正則表達式: (^|\s)icon-\S+

0

這是正則表達式:

\bicon-[^\b]+?\b 

通過使用\ B,該表達也匹配在這些情況下的 「圖標上」:

icon,icon-up
icon,icon-up,icon-down

+0

這不會工作 - 他不希望'ui-icon-asc'另外'\ b'不能在字符類中工作。 – 2012-07-25 12:21:39

相關問題