It seems you are the one who isn't testing it, tsog may be in tsoglanos, but the ^ and $ means it will only match tsog, nothing else, it will not match tsoglanos and it will not match tsoglanos29, it will only match tsog, nothing else.
I believe The_Game has been answered. This thread has turned into picking at each other's code and it isn't productive nor necessary as I have already said once.
Use the PM feature for further discussion with each other as I've also said.