我需要一个正则表达式,在特定单词之后提取模式(她喜欢限制:: )
我有测试字符串,所以让我们说文本总是在分隔符之间!限制:: ****! :
* 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
我只想要单词:
我测试过(?:!\ w + ::(?:( \ w +)/(\ w +)/(\ w +)/(\ w +)))|(?:,(\ w +)/( \ w +)/(\ w +)/(\ w +))+。* !,失败
答案 0 :(得分:1)
正则表达式:
/(W.*|C.*)(?=\/|!|,)/g
:匹配以W
或C
开头的字词,后跟/
,!
或,
/\/|,.*(?=,)|,/
:从第一个/
,
或后跟,
或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组中。