正規表現の文字数で測定すると、正規表現(Javaの場合)で文字を指定する最も簡単な方法は何でしょうか。たとえば、\w
数字とアンダースコアが含まれているため、機能しません。
ここにいくつかのオプションがあります:
\p{Alpha}
[a-zA-Z]
もっと短いものはありますか?頻繁に出てくるので、知っておくといいでしょう。
これはどう:
\pL
Unicode 文字に一致します。
次の式は一致のみ[a-zA-Z]
で、8 文字しかありませんが、バックスラッシュを Java 文字列リテラル内でエスケープする必要があるため、文字数が 10 に増えます。
[^\PL\W]
これは私が考えることができる最短です:
(?i)[a-z]
ただし、これcase-insensitive
により正規表現の残りの部分でスイッチがオンになるため、正規表現の残りの部分で大文字と小文字を区別する必要がある場合は、スイッチを再度オフにする必要があります。
(?i)[a-z](?-i)
よりも長くなり[a-zA-Z]
ます。
したがって、状況に適している場合、この答えはおそらく最短です。