2012-01-07 7 views
0

私はregexの初心者ですが、タスクに使用する必要があり、誰かが私を助けることができたら本当に感謝します。カッコで囲まれたテキストを取り込むためのオプションのグループ

最後に括弧で囲まれたテキストを含む可能性のある文字列があります。

Something like these: 
product1 
product2 (enclosed text) 
another product (some more enclosed text) 
one more product 
... 

文字列を2つのグループに分ける必要があります。 最初のものは括弧の前のテキスト、または括弧がない場合はテキスト全体です。

第2のグループは括弧で囲まれたテキストであり、オプションでなければなりません。

私は(.*)(\(.*\))?を試しましたが、最初のグループはかっこを含む全体の文字列をキャッチします。

+0

でしょう非常に簡単です答えは(。)?括弧が迷子になったり、開いていることを保証していますか? – Nate

答えて

3

あなたの言語がそれをサポートしている場合:

(.*?)(\(.*\))? 

*?が(代わりに「貪欲」1の)「消極的」試合になります。あなたが保証できる場合

そうでない場合は、そこに任意の浮遊括弧になることはありません:

([^\(\)]*)(\(.*\))? 
+0

ありがとう、あなたは私の一日を救った。 :) – RuiFortes

1

<)(* /)これは

関連する問題