2016-01-27 137 views
-1

我需要一個正則表達式是特定的單詞後提取模式(她喜歡限制::正則表達式爲字符串匹配後重復模式

我必須的TestString,所以我們說的文本始終是分隔符之間的界限! :****! :

* ksjfl KFJ sdfasdfaf dfasf ASD SDF一dfasd FDAF指令AD F afdfaf DFAD喇嘛喇嘛ksfajs ldsfskj限制:: WLo1/WHi1/WHi1/WHi1WLo2/! WHi2/WHI/WHi2,.hier重複圖案..,WLON/WHin/CLon/CHin! fasdfakl skdfkas sflas FASF自衛隊afasf

我只是想唯一的一句話:

  1. WLo1
  2. WHi1
  3. WHi1
  4. WHi1
  5. WLo2
  6. WHi2
  7. WHI
  8. WHi2
  9. WLON
  10. WHin
  11. 酷龍
  12. 下巴

我已經測試樣(?!\ w + ::(?:(\ w +)/(\ w +)/(\ w + )/(\ w +)))|(?:,(\ w +)/(\ w +)/(\ w +)/(\ w +))+。*!,不及

+0

唯一的正則表達式,LIK Java腳本 – schweinsteiger

+0

通過捕捉分隔符之間有什麼'開始!極限::([\ S \ S] +?)!'。從那個捕捉中,找出你需要得到的單詞。 – sln

+0

我已經嘗試過這種模式,但不幸的是沒有工作 – schweinsteiger

回答

0

我不知道結尾分隔符是,所以如果它很重要,更新你的問題,我會修改這個表達式:

/(?<=Limits::)(?:(.+?)\/)+/i 

搜索Limits::,然後重複以/結尾的字符串,您的單詞將在第1組中。

+0

not working,die expression? – schweinsteiger

1

正則表達式:

/(W.*|C.*)(?=\/|!|,)/g:與WC開始比賽的話,隨後/!,或,

/\/|,.*(?=,)|,/:刪除/,或任何字符,隨後,,從字符串從返回第一個RegExp

var str = "*ksjfl kfj sdfasdfaf dfasf asd sdf a dfasd fdaf ad f afdfaf dfad bla bla ksfajs ldsfskj !Limits::WLo1/WHi1/WHi1/WHi1,WLo2/WHi2/WHi/WHi2,.hier repeated pattern..,WLon/WHin/CLon/CHin! fasdfakl skdfkas sflas fasf sdf afasf"; 
 

 
var res = str.match(/(W.*|C.*)(?=\/|!|,)/g)[0].split(/\/|,.*(?=,)|,/); 
 

 
document.body.textContent = res.join(" ")

+0

謝謝,但我只想要正則表達式,而不是函數分割... – schweinsteiger

+0

'.split()'接受正則表達式作爲參數,如stacksnippets所示 – guest271314

+0

只是正則表達式 – schweinsteiger