正则表达式匹配字符串后的重复模式

时间:2016-01-27 16:41:28

标签: regex

我需要一个正则表达式,在特定单词之后提取模式(她喜欢限制::

我有测试字符串,所以让我们说文本总是在分隔符之间!限制:: ****! :

  

* ksjfl kfj sdfasdfaf dfasf asd sdf a dfasd fdaf ad f afdfaf dfad bla bla ksfajs ldsfskj!限制:: WLo1 / WHi1 / WHi1 / WHi1 WLo2 / WHi2 / WHi / WHi2 ,。hier重复图案..,的 WLON / WHin / 克隆Clon / 下巴!   fasdfakl skdfkas sflas fasf sdf afasf

我只想要单词:

  1. WLo1
  2. WHi1
  3. WHi1
  4. WHi1
  5. WLo2
  6. WHi2
  7. WHI
  8. WHi2
  9. WLON
  10. WHin
  11. 克隆Clon
  12. 下巴
  13. 我测试过(?:!\ w + ::(?:( \ w +)/(\ w +)/(\ w +)/(\ w +)))|(?:,(\ w +)/( \ w +)/(\ w +)/(\ w +))+。* !,失败

2 个答案:

答案 0 :(得分: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(" ")

答案 1 :(得分:0)

我不知道结尾分隔符是什么,所以如果重要,请更新您的问题,我将修改此表达式:

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

搜索Limits::,然后重复以/结尾的字符串,您的字词将在第1组中。