Łańcuch rubinowy podzielony na słowa ignorujące wszystkie znaki specjalne: Prostsze zapytanie

Potrzebuję zapytania, które ma być podzielone na słowa wszędzie, gdzie używany jest znak inny niż słowo. Na przykład:

query = "I am a great, boy's and I like! to have: a lot-of-fun and @do$nice&acti*vities+enjoy good ?times."

Powinien wysyłać:

["I", "am", "a", "great", "", "boy", "s", "and", "I", "like", "", "to", "have", "", "a", "lot", "of", "fun", "and", "", "do", "", "nice", "acti", "vities", "enjoy", "good", "", "times"] 

Czyni to sztuczkę, ale czy jest prostszy sposób?

query.split(/[ ,'!:\\@\\$\\&\\*+?.-]/)

questionAnswers(2)

yourAnswerToTheQuestion