2017-02-09 207 views
0

如何在正则表达式python中的某个字符之后提取某个单词?使用正则表达式从一个字符串中提取字符python

例如: 给出= 'ABCDEFGHIJKL “MNOP:” qfdf “GG”'

我想qfdf这是AFER “MNOP:” 和 “GG” 之前。给定的字符串是一个字符串,不包含空格。

到目前为止,我可以用\ w +“mnop:”来获得qfdf“gg”,但我不知道python正则表达式中的任何\ K函数。我也知道使用(?< = ...),但这只需要固定宽度的字符。

谢谢!

+0

你尝试过什么? http://regexr.com/是你的朋友。 – codeforester

+0

@codeforester是regexr.com for python?我认为这是为js .. –

回答

0

杠杆lookarounds:

(?<="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' 
相关问题