2012-02-14 19 views
-2

括弧を開く間のすべてのテキストを選択するには正規表現が必要です。間のテキストを検索閉じる括弧を閉じる

例:

xxxxxxx (Regular Expression) xxxxxxx(One) xxxxxxx(One Word) xxxxxxx (Two Word) 
1) xxxxxxx(lowercase) 
2) xxxxxxx(UPPERCASE) 

結果は次のようになります。

  1. マッチ1:XXXXXXX(正規表現)
  2. マッチ2:XXXXXXX(ワン)
  3. マッチ3:xxxxxxx(ワンワード)
  4. 一致4:XXXXXXX(2本のワード)
  5. 一致5:XXXXXXX(小文字)
  6. 一致6:XXXXXXX(大文字)

備考: xxxxxxxは任意のキャラクター

ありがとうございました。

答えて

1

助けることができるpythonコード。

>>> import re 
>>> s = """xxxxxxx (Regular Expression) xxxxxxx(One) xxxxxxx(One Word) xxxxxxx (Two Word) 
... 1) xxxxxxx(lowercase) 
... 2) xxxxxxx(UPPERCASE)""" 
>>> re.findall("([A-Za-z]+ {0,1}\(.*?\))", s, re.MULTILINE) 
['xxxxxxx (Regular Expression)', 'xxxxxxx(One)', 'xxxxxxx(One Word)', 'xxxxxxx (Two Word)', 'xxxxxxx(lowercase)', 'xxxxxxx(UPPERCASE)'] 
>>> 

"([A-Za-z]+ {0,1}\(.*?\))"は使用されている正規表現です。

  • [A-Za-z]+ `{0,1}空間の0または1のoccurance
  • .*文字およびゼロまたは文字の複数発生を手段AZ又はAZ
  • の任意の文字の一つ以上occurancesに
  • 手段。
  • ?は貪欲でない方法を意味します。
  • \( & /)も一致させるため、バックスラッシュです。
0

これを試してください:あなたが明示的に括弧の前にコンテンツにアクセスする必要があると括弧内のコンテンツは、以下を使用している場合代わり

http://regexr.com?300k2

:ここ

[^\(\)]*\([^\)]*\) 

はライブデモです適切なグループに名前を付ける正規表現:

(?<outpar>[^\(\)]*)\((?<inpar>[^\)]*)\) 

そして再び、これはそのライブデモです:

http://regexr.com?300k5

関連する問題