2017-02-09 29 views
0

正規表現のPythonで特定の文字の後に特定の単語を抽出するにはどうすればよいですか?例えばregex pythonを使用して1つの文字列から文字を抽出

: "MNOP:" 私はのaferあるqfdfを取得したい

: は 'qfdf "GG" "MNOP" ABCDEFGHIJKL' =与えられ、 "GG" の前に。指定された文字列は1つの文字列で、空白文字はありません。

これまでqfdf "gg"に行くために\ w + "mnop:"できますが、Pythonの正規表現では\ Kの機能は分かりません。私も(?< = ...)を使用して知っているが、これは固定幅の文字しか取らない。

ありがとうございます!

+0

あなたが何をしようとしたことがありますか? http://regexr.com/はあなたの友人です。 – codeforester

+0

@codeforesterはpythonのregexr.comですか?私はこれがjsのためだと思った。 –

答えて

0

レバレッジ前後参照:

(?<="mnop:")[^"]+(?="gg") 
  • ゼロ幅の正の後読み、(?<="mnop:")は、確か所望の部分が"

    ない"mnop"

  • [^"]+マッチ一つ以上の文字が先行することができます

  • ゼロ幅正先読み、(?="gg")は、目的の一致が"gg"

例が続いているを確認します:

In [6]: given = 'abcdefghijkl"mnop:"qfdf"gg"' 

In [7]: re.search(r'(?<="mnop:")[^"]+(?="gg")', given).group() 
Out[7]: 'qfdf' 
関連する問題