我正在尝试将一个字符串分成不同大小的块,创建一个单词的“波”,如:
the
cat sat
on the mat the
cat sat on the mat the
cat sat on the
mat the
cat
由于单词的长度不同,我想在最近的空格上分割。
我可能试图用一条线做太多。但是我不喜欢循环的想法。我从这开始:
/.{5}\w*/g
我已尝试添加()并添加{}但不能完全掌握正则表达式。这可能吗?或者会涉及某种循环吗?
答案 0 :(得分:1)
我认为即使使用正则表达式也可以做一些事情,但很大程度上取决于输入字符串。此外,你将不得不考虑如何安排块,是否修剪,如何垫,等等,所以只有正则表达式不会。
这个正则表达式模式:
((?:[^\s]+(?:\s|$)){1,20})
可以在以下字符串中产生类似于您要查找的内容:
the cat sat on the mat the cat sat on the mat the cat sat on the mat
。它起作用的原因是在发生故障的地方有额外的空间。
the
cat sat
on the mat the
cat sat on the mat the
cat sat on the
mat
请参阅demo。