正则表达式在经过一定数量的字符和空格后添加\ n

时间:2016-12-01 01:07:39

标签: javascript regex

我需要一个可以在一定数量的字符后添加\ n的正则表达式,如果最后一个字符是单词,它应该将该单词推到下一行。

我有以下正则表达式,它可以添加\ n但不是将最后一个单词推到下一行,而是将该单词保留在该行中。

word.replace(/(.{12}) /g, "$&\n")

如果有人可以帮助我或告诉我是否可以这样做,我将不胜感激。

示例:

word = "love stackoverflow"
after regex it should be love \n stackoverflow 
NOT love stackoverflow\n

2 个答案:

答案 0 :(得分:1)

我不确定这是否正是您所寻找的,但它可能会提供一些想法:

.{1,12}(?=[\W])

查找尽可能多的字符(1到12之间),直到找到后跟非字母的字符(例如空格,行终止符,标点符号等)。

https://regex101.com/r/UceAEC/1

答案 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