2011-12-08 21 views
-2

私は正規表現を使用して文字列をチェックする必要があります。Java正規表現

ここ
String a = "ABC(hello) or DEF("indianbatsmen") or GHK(welcome); 

私はDEFが二重引用符を持っているか、いないフィールドを確認する必要があります。

私が試した:

if(!a.contains("DEF(\"w\")")){ }

をそれが作業をdidntの。あなたの文字列はエスケープ引用符が含まれている場合、このを失敗したことはない

boolean foundMatch = false; 
Pattern regex = Pattern.compile("\\bDEF\\(\"[^\"]+\"\\)\\s+"); 
Matcher regexMatcher = regex.matcher(subjectString); 
foundMatch = regexMatcher.find(); 

+0

なぜ正規表現を使用する必要がありますか? – mcfinnigan

+0

この質問は文句が間違っていますが、タイトルはまったく関係ありません。これは修正されるまで、私からのdownvoteの恩恵を受けるでしょう。 – Romain

答えて

2

はこれを試してみてください。

+0

同じように私は提供します。 String.contains()はRegExと何の関係もないため、RegExコンパイルなしで文字列に指定されたcharSeqを検索します。 – Thargor

0

すでに\wで正規表現構文を使用しようとしていたように見えます - (しかし、あなたは、おそらくそれは\w+(引用符の間に少なくとも1つの文字が必要な場合)、または\w*になりたいあなたは0以上の文字を許可している場合)。 \(を使用してかっこをエスケープしたい場合もあります。

次に、正規表現メソッドを使用する必要があります。 .containsは単純な文字列検索を行っています。 PatternMatcherクラスを使用すると、ここで役立ちます。