2017-01-11 5 views
0

私はかなり正規表現に新しいです。私が一致しようとしているパターンは、この線に沿って何かである:私はいくつかのregex101に「遊んで」行ってきたこのパターンにはどのような正規表現が適していますか?

A= "SOME_VALUE" 
    X = 'SOME_OTHER_VALUE' 
L = "HERES_ANOTHER_VALUE"   # yes, there are some instances of non-indentation 
    c = { 
     D = "E", 
     F='G', 
     H = "I" 

    } 
    Q = "A VALUE WITH SPACES" 
    V='VALUE_WITH_KEY_V' 

、そして私が作ってみたパターンは次のとおりです。

The output on regex101

[\s]*?([\w]+)[\s]*?\=[\s]*?([\'\"\,\{\w\s\}]+)[\n]+

は、私は1つの全体の値としてサブクラスをキャプチャしたいです。しかし、出力からわかるように、私は望みの結果を得ていません。また、サブクラス全体をオプションのグループとしてキャプチャできれば幸いです。しかし、私はそれをどうやって行うのか分かりません。

前述のパターンに対して最も効率的な正規表現は何でしょうか?

答えて

2

ので、動作するはずのような何か:\w+\s*=\s*((\{.*?\})|(['"].*?['"]))(あなたはクラスを扱っている場合に便利です、これは.は、新しい行を一致させることができるように.DOTALLフラグの使用を必要とすることに注意してください

表現の例。利用可能ですhere

+0

よくお世話になります。クイックフォローアップの質問 - どのように私はPythonで.DOTALLフラグを有効にしますか? –

+1

@RahulKulhalli 're.findall(pattern、string、re.DOTALL)' – MYGz

関連する問題