$re = '/^(?=.*g)[fghlotu]{4,}$/m';
$str = '// SB from 2019-10-05
// centerLetter: g
// outerLetters: f,h,l,o,t,u
// wrong letters
bread
butter
bigger
ogogogx
xogogog
// too short
gut
log
fgt
// no center letter
trout
lotto
full
// tricky cases that should match (made up words)
ogogog
gogog
ogogo
oggoggo
ggogg
ggoo
oogg
// actual solutions
thoughtful
flog
fought
fugu
ghoul
glut
golf
goof
googol
goth
gout
guff
gulf
gull
logo
ought
outfought
outgo
outthought
though
thought
thug
tough
';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php