First use the 'u' modifier for UTF-8 (the encoding of which you should use for international applications). Secondly, if you are trying to resolve umlauts, etc. In the [a-zA-Z] block, you can add the specific characters you want using escape sequences as follows:
separately:
preg_match( "/\x{00FC}/u" , 'ΓΌ' );
or in a group:
preg_match('/^[\x{00DF}\x{00E4}\x{00C4}\x{00F6}\x{00D6}\x{00FC}\x{00DC}]+$/u', 'ΓΓ€ΓΓΆΓΓΌΓ');
... or just use the literal matching \w (noting that it will also allow the use of numbers and underscores and other international characters that can serve as letters).
preg_match( "/\w/u" , 'ΓΌ' );
(I'm not sure what you are doing with ^ in the middle of the expression, btw, without the 'm' modifier.)
source share