文字列をカッコで複数の部分に分割したいが、引用されたもの(括弧を含む可能性がある)は単一の記号として扱われるべきである。例えば、文字列引用符内のかっこの正規表現
(ID1、 "シンプルこんにちは")、(ID2は、 "こんにちは\ nは奇妙な(すべての文字)のA @")
は2つの部分
1に分割する必要があります) ID1、 "こんにちは、単純な"
2)ID2、 "こんにちは\ nは奇妙な(すべての文字)のA @"
私はPythonでこれを行うことができますどのように?
文字列をカッコで複数の部分に分割したいが、引用されたもの(括弧を含む可能性がある)は単一の記号として扱われるべきである。例えば、文字列引用符内のかっこの正規表現
(ID1、 "シンプルこんにちは")、(ID2は、 "こんにちは\ nは奇妙な(すべての文字)のA @")
は2つの部分
1に分割する必要があります) ID1、 "こんにちは、単純な"
2)ID2、 "こんにちは\ nは奇妙な(すべての文字)のA @"
私はPythonでこれを行うことができますどのように?
あなたが本当にregex
を使用する必要がある場合、これはあなたのポストから現在の文字列で動作します:
import re
pat = re.compile(r'\(([a-zA-Z0-9"\(\)\s]+)\)')
matches = re.findall(pat, '(Hello "(world)"), (2016)')
# ['Hello "(world)"', '2016']
しかし、split
機能は、テキストのフォーマットのための実行可能な選択肢かもしれません。すべてのデータが括弧の単一のペアで囲まれている場合は、行うことができます:
results = [x[1:-1] for x in '(Hello "(world)"), (2016)'.split(', ')]
# ['Hello "(world)"', '2016']
ありがとうございます。私は問題を過度に単純化しているようだ。編集した質問をご覧になれますか?基本的に引用符の中にあるものは、エスケープやユニコードを含む任意のシンボルにすることができます。また、各分割部分の内部にコンマを入れることもできます。 – Roz
はPythonのスプリット[モジュール](https://docs.python.org/2/library/stdtypesにプログラマ – stark
ルックを雇います。 html#str.rsplit) – TheGirrafish