正则表达式获取字符串的前 X 个字符,切入最接近的单词



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

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

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

The quick brown

当我希望它切入:

The quick

提前感谢!

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

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

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

最新更新