3文字を超える場合、または文全体の場合に、文の最初の単語を取得する正規表現が必要です。
例えば:
Hello world -> Hello World
Eat jam -> Eat
ありがとう!
この正規表現を使用する^\s*?\w{3,}\b.+
あなたの例は、 3文字以下の場合は最初の単語を取り、それ以外の場合は完全な文を取ります。しかし、その要件のためにあなたは使うことができます
^[a-zA-Z]{1,3}(?![a-zA-Z])|^.*$
クイックPowerShellテスト:
PS> $re = '^[a-zA-Z]{3}(?![a-zA-Z])|^.*$'
PS> 'Hello world','Eat jam' |%{$_-match $re|Out-null;$Matches}
Name Value
---- -----
0 Hello world
0 Eat