「/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})?"
文字クラスの仕組みを理解していないようです。使用している文字クラスは、 または または または または または または などの任意(
のe
1n
文字)
にj
一致a
しz
ますh
。
やろうとしていることを行うには、グループを使用する必要があります。
str.matches("/(?:en|ja|zh-cn)$")
は|
「または」を示し、非キャプチャ グループを使用しました(?: ... )
。( ... )
後で「en」、「ja」、または「zh-cn」を使用する場合は、キャプチャ グループを使用します。