private static function getRegex()
 {
     if (!self::$regex) {
         $words = [''];
         // empty word to merge immediate tokens
         foreach (ElasticSearch::getStopwords() as $word) {
             $words[] = preg_quote($word, '~');
         }
         self::$regex = '~' . preg_quote(self::END, '~') . '(\\W*\\s*(' . implode('|', $words) . ')\\s*\\W*)' . preg_quote(self::START, '~') . '~';
     }
     return self::$regex;
 }