Давайте сделаем это простым: (добавьте «[] +» к вашему средству RegEx «1 или больше»)
Это означает, что «+» и «{1,}» совпадают.
var words = text.split(/[ .:;?!~,`"&|()<>{}\[\]\r\n/\\]+/); // note ' and - are kept