「/en」、「/ja」、「/zh-cn」に一致する必要があります
私はこのような正規表現を書きました
String str = "/en";
if(str.matches(".[(en)(ja)(zh\\-cn)]$"))
System.out.println(str);
これは機能しません。誰か助けてください
以下を使用します (またはpattA|pattBを使用して一致させることができます):pattA pattB
"/(en|ja|zh-cn)"
または、他の言語コードと一致させたい場合は次のようにします。
"/[-a-z]+"
"/[a-z]{2}(-[a-z]{2})?"
文字クラスの仕組みを理解していないようです。使用している文字クラスは、 または または または または または または などの任意(のe1n文字)にj一致aしzますh。
やろうとしていることを行うには、グループを使用する必要があります。
str.matches("/(?:en|ja|zh-cn)$")
は|「または」を示し、非キャプチャ グループを使用しました(?: ... )。( ... )後で「en」、「ja」、または「zh-cn」を使用する場合は、キャプチャ グループを使用します。