正则表达式计数强调

它怎么可能算找到underscore通过Regex那么,如果它是高于2下划线和小于4 (连续)做一些,如果超过4个下划线做别的事情正则表达式计数强调

$('div').text(function(i, text) {  

var regex2 = /_{2,4}/g;

var regex4 = /_{4,999}/g;

//var regexLength = text.match(regex).length;

if (regex2.test(text)) {

return text.replace(regex2, '،');

} else if (regex4.test(text)) {

return text.replace(regex4, '');

}

});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>  

<div>

Blah_Blah _ BlahBlah __ test ____ Blah _________________________________________

</div>

我想要做的是,找到两个以上的,不到四年不断强调,与comma人换掉,如果超过四个下划线与nothing取代。

目前:

<div> 

Blah_Blah _ BlahBlah __ test ____ Blah _________________________________________

</div>

目标:

<div> 

Blah_Blah _ BlahBlah , test , Blah

</div>

问题:

第二regex(四个以上的下划线)不按预期工作。

JSFiddle

回答:

这里是你如何能在一个单一的正则表达式做到这一点无需多次的正则表达式testreplace电话:

var str = 'Blah_Blah _ BlahBlah __ test ____ Blah _________________________________________'  

var r = str.replace(/_{2,}/g, function(m) { return (m.length>4 ? '' : ',') })

console.log(r)

//=> Blah_Blah _ BlahBlah , test , Blah

回答:

const string = "Blah_Blah _ BlahBlah __ test ____ Blah _________________________________________"; 

const count_underscore_occurrence = (string.match(/_/g) || []).length;

以上是 正则表达式计数强调 的全部内容, 来源链接: utcz.com/qa/263054.html

回到顶部