-1

「/en」、「/ja」、「/zh-cn」に一致する必要があります

私はこのような正規表現を書きました

String str = "/en";
if(str.matches(".[(en)(ja)(zh\\-cn)]$"))
   System.out.println(str);

これは機能しません。誰か助けてください

4

2 に答える 2

3

以下を使用します (またはpattA|pattBを使用して一致させることができます):pattA pattB

"/(en|ja|zh-cn)"

または、他の言語コードと一致させたい場合は次のようにします。

"/[-a-z]+"

"/[a-z]{2}(-[a-z]{2})?"
于 2013-09-17T07:42:53.217 に答える
2

文字クラスの仕組みを理解していないようです。使用している文字クラスは、 または または または または または または などの任意(e1n文字)j一致azますh

やろうとしていることを行うには、グループを使用する必要があります。

str.matches("/(?:en|ja|zh-cn)$")

|「または」を示し、非キャプチャ グループを使用しました(?: ... )( ... )後で「en」、「ja」、または「zh-cn」を使用する場合は、キャプチャ グループを使用します。

于 2013-09-17T07:45:24.817 に答える