我想要一个正则表达式,它将短语放在以" st"开头的较大字符串中。它必须不区分大小写并搜索整个字符串并返回匹配数。
我有什么:
/st+/ig
我正在测试它:
st stuff pistuff stuff
stuff st st st st stuff notstuff
STUFF STUFF STUFF
sti
stiiiiii
stiiii
stufff
stiufff
几乎所有东西都正确匹配,除了它还能拿起手枪而不是原料。
答案 0 :(得分:3)
已更新以捕获以st
开头的字词,或仅包含两个字符st
,不区分大小写:
/\bst\w*/ig
/\bst/ig
\b
用于标记单词边界。
var strArr = [
'st stuff pistuff stuff',
'stuff st st st st stuff notstuff',
'STUFF STUFF STUFF',
'sti',
'stiiiiii',
'stiiii',
'stufff',
'stiufff'
];
var re = /\bst\w*/ig;
var count = 0;
strArr.forEach(function(str) {
count += str.match(re).length;
document.body.insertAdjacentHTML('beforeend', str.match(re) + '<br>');
});
document.body.insertAdjacentHTML('beforeend', 'count: ' + count);
&#13;
此外,Regex101