将长单词拆分为块的正则表达式堆栈表达式
Regex stack expressions to split long words into chunks
我尝试堆叠两个正则表达式,但没有成功。
在我的例子中,我需要找到所有长度大于等于 50 的单词
\w{50,}
现在我只需要将那些匹配项分成 10 个字符的块。
.{1,10}
我无法将第二个表达式应用于第一个表达式匹配项。
你有什么想法吗?
谢谢!!!
Javascript replace()可以用一个函数代替
str = str.replace(/\w{50,}/, function(m) {
return m.match(/.{1,10}/g).join(' ');
});
See this demo at tio.run - 或者更短一点:
str = str.replace(/\w{50,}/, m => m.match(/.{1,10}/g).join(' '));
不知道在 JS 中是否可以仅使用一个正则表达式。在 PCRE 中:(?:\G\B|\b(?=\w{50}))\w{10}\B\K
我尝试堆叠两个正则表达式,但没有成功。
在我的例子中,我需要找到所有长度大于等于 50 的单词
\w{50,}
现在我只需要将那些匹配项分成 10 个字符的块。
.{1,10}
我无法将第二个表达式应用于第一个表达式匹配项。 你有什么想法吗?
谢谢!!!
Javascript replace()可以用一个函数代替
str = str.replace(/\w{50,}/, function(m) {
return m.match(/.{1,10}/g).join(' ');
});
See this demo at tio.run - 或者更短一点:
str = str.replace(/\w{50,}/, m => m.match(/.{1,10}/g).join(' '));
不知道在 JS 中是否可以仅使用一个正则表达式。在 PCRE 中:(?:\G\B|\b(?=\w{50}))\w{10}\B\K