我需要創建一個JavaScript正則表達式,它將捕獲單個或雙重之前出現的「單詞」:
。在特定字符前面捕獲單詞
下面是一些例子:
*, ::before, ::after // do not capture anything
.class1, .class2:before,.class3::after // captures .class2 and .class3
.class4::before // captures .class4
This is what I have right now:/(\S+?):/g
。它儘可能少地匹配任何非空白字符到無限次,然後在:
處停止。
這工作情況除外:
- 如果在「詞」,它抓住太遠之前沒有空間。
- 它捕獲
::before
和::after
的第一個冒號。
在':'之前是否必須有單詞字符?如果是的話,那麼你可以使用這個'(\ S +?\ b):?:'http://regex101.com/r/wU8uM7/4 – 2014-09-18 17:40:28
我很抱歉,我意識到鏈接不符合我包括的例子。 – thetallweeks 2014-09-18 18:00:12