2012-04-25 6 views
0

私は[abcderere]のような変数を持つテキストを持っています。これらの変数を検出するために
iは、次の正規表現を作成することにしました:"[blablablabla]"のようなものを検出する正規表現

(\[.+?\]) 

それは[azerty][qwerty]のような文字列で作業を行いますが、私はそれがパターンに一致するため、私の正規表現はまた[[azerty]のような文字列を検出したいが、それはdoesnのトン作業

+0

あなたの正規表現は "[[azerty]"のような文字列と一致するようです。ここでそれをテストしました:http://www.regexplanet.com/advanced/java/index.htmlそしてJava自体。 Pattern.compile( "(\\ [。+?\\])")を使用していますか。 ? –

+5

* "私の質問はかなり簡単です" * "人生の意味は何ですか?また、簡単な質問ですが、それは難しい答えです。質問の単純さは、答えの単純さとは無関係です。 ;) –

+0

どのようにして正確に「うまくいかない」のですか? '[azerty] 'に' '[azerty]' 'が含まれているため、これは一致します。 – ArjunShankar

答えて

1

は、おそらくこれは役立ちます:

(\[[^\[\]]+\]) 
^ ^^ ^^^ 
| ||  | || 
| |+-----+ || 
| +---------+| 
+------------+ 

は、[[azerty]として文字列を考えると、それは最初の角括弧を省略して、にマッチします。文字列が[[azerty][foobar]]の場合、[azerty][foobar]が一致します。 Demo here

+0

と[foobar]の場合はうまくいくと思いますか? –

+0

'[[foobar]]'の場合、 '[foobar]'と 'foobar'の両方をあなたに戻したいと思っていますか? – Jack

+0

これはまさに私が欲しいものです;)編集:前の例[azerty] [foobar]に対しては私に[azerty](良い)を与えますが、[foobar]:/ –

関連する問題