Como posso detectar palavras risonhas em uma string?

Estou tentando detectar palavras risonhas como "hahahaha" e "lolololol" em uma string.

Atualmente estou usando o seguinte regex:

^((.*?)|)(\b[ha]|\b[lo])(.*?)$

No entanto, isso não funciona para meus propósitos. istotrabalho, mas também combina palavras totalmente não relacionadas ao riso, como "matar", porque simplesmente procura por qualquer palavra que contenha as letras l, o, h, a.

Como posso detectar palavras risonhas (como "hahaha" ou "lololol") em uma string?

questionAnswers(3)

yourAnswerToTheQuestion