2011-01-13 11 views
0

私のアプリケーションはまた、パンジャブ語(\ u0A00- \ u0A7F)をサポートするために正規表現 私はマッチャーでパンジャブ別文字を提供しても私は(出力として「なし」になっていたコードUTF-8言語

Pattern classPattern = Pattern.compile("\u0A00-\u0A7F "); 
    Matcher classMatcher = classPattern.matcher("ਭਾਸ਼ਾ ਸੰਦ"); 
      if (classMatcher.find()) { 
       System.out.println("yes"); 
      }else{ 
       System.out.println("no"); 
      } 

次試してみました)

何らかの理由がありますか?

+0

'[\ u0A00- \ u0A7F]'という文字列を使うのではなく、代わりに '\ p {InGurmukhi}'を使わないのですか?マジックナンバーではなく象徴的です。正規表現で単独で使うことも、囲む文字クラスの一部として使うこともできます。 – tchrist

答えて

6

そのパターンは"[\u0A00-\u0A7F ]"すべきですか? 4つの文字を特定の順序でマッチさせようとしているように見えますが、マッチャーには6つの文字を入力として与えます。

+0

に属していることを確認してください、愚かな間違いは大括弧を保持していない;( – Varun

1

「asdsaは」パンジャブ語ではないので、[おpubjabi文字を探します与えたパターンは、DN ABCれていません]

+0

申し訳ありません更新された質問...私はすべてを意味するものではありません... – Varun

+0

'[\ u0A00- \ u0A7F]' [a-zA-Z] \tと同じAからZまたはAからZまで(範囲) 'これらのすべての文字が指定された範囲 –

3
[\u0A00-\u0A7F ]* 

アスタリスクがないと、1文字のみが一致します。 *+に置き換えることができます。空の文字列は受け入れられません。

Pattern class JavaDocsをご覧ください。 regexesをよく理解するためには非常に便利です。

+0

素晴らしいリンクありがとう – Varun

関連する問題