正则表达式将字符串的前X个字符切割为最接近的单词

时间:2017-01-19 02:26:37

标签: regex string

我正在尝试组合一个正则表达式,它将匹配字符串的前100个字符而不会切断单词,但保证我永远不会超过100个字符:

/^(.{0,100}[^\s]*)/

问题在于,如果它流血,而不是之前,这会在最后一个词之后切断。我之前想要剪切 - 所以如果我以10个字符为例,这将切入:

The quick brown

当我希望它切入时:

The quick

提前致谢!

1 个答案:

答案 0 :(得分:1)

使用Negative Lookahead尝试此正则表达式:

/^(.{0,100}(?!\w))/

演示:https://regex101.com/r/5BPqk5/2