我需要一个可以在一定数量的字符后添加\ n的正则表达式,如果最后一个字符是单词,它应该将该单词推到下一行。
我有以下正则表达式,它可以添加\ n但不是将最后一个单词推到下一行,而是将该单词保留在该行中。
word.replace(/(.{12}) /g, "$&\n")
如果有人可以帮助我或告诉我是否可以这样做,我将不胜感激。
示例:
word = "love stackoverflow"
after regex it should be love \n stackoverflow
NOT love stackoverflow\n
答案 0 :(得分:1)
我不确定这是否正是您所寻找的,但它可能会提供一些想法:
.{1,12}(?=[\W])
查找尽可能多的字符(1到12之间),直到找到后跟非字母的字符(例如空格,行终止符,标点符号等)。
答案 1 :(得分:0)
这是你在python中实现它的方法。将此逻辑移植到JavaScript 我已经采用了更有意义的长度为12个字符。如果您喜欢正则表达式,可以替换8。
export default Ember.Component.extend({
name: 'Dwight',
actions: {
nameDidChange: function(value) {
this.set('name', value);
}
}
});
输出:
import re
a = "The a quick brown fox jumps over the lazy dog"
print [b+'\n' for b in re.findall("(.{0,12})(?: |$)",a) if b]
在Regex101上演示您提到的字符串:
https://regex101.com/r/lmdjwT/1