2012-04-16 4 views
4

ドキュメントでこれを見つけることができませんでした。私は大文字と小文字を区別しないようにする必要がありますが、特別な場合のみです。Pattern.compileにフラグはありませんか?

方法Pattern.compile(String regex, int flags)は、Pattern.compile(String regex)と同等の方法で呼び出すことができますか? Pattern.compile("my regex", 0)を使用できますか?

答えて

7

はい - Pattern.compile(foo)は、ちょうどPattern.compile(foo, 0)を返すようになります。

ドキュメントが実際にと言った場合、それはいいだろうが、それは私だけを見て、実装が何をするかだ...

2

code for Pattern.compile(String regex)がある(ライン1021と次):

public static Pattern compile(String regex) { 
    return new Pattern(regex, 0); 
} 

Pattern.compile(String regex, int flags)のコードは:

public static Pattern compile(String regex, int flags) { 
    return new Pattern(regex, flags); 
} 

です。

+0

重大なコードを投稿しないでください。私たちの何人かはいつかクリーンルームの取り組みに参加したいかもしれません。 –

+0

@MikeSamuel私はあなたが意味することを理解していないのか分かりません。 – assylias

+0

このコードは、[ライセンス](http://www.oracle.com/technetwork/java/scsl-1-1-149938.txt)に基づいて配布されており、ほとんどのOSライセンスよりも大幅に制限があります。 –

5

ただPattern.compile("my regex", 0)を使用できますか?

はい。一致フラグ、CASE_INSENSITIVE、MULTILINE、DOTALL、UNICODE_CASE、CANO​​N_EQ、UNIX_LINES、リテラルUNICODE_CHARACTER_CLASSと

0はビットを含まないビットマスクであるコメントを含むことができるビットマスク - javadoc

フラグを言います。


は、私が唯一の特殊なケースで、ケース非感受性を有効にする必要があります。

Patternで利用できるcase-sensitivityのいくつかの種類があります。

大文字と小文字の区別を細かく制御するには、独自の大文字と小文字の区別や照合が必要な場合があります。

関連する問題