python正则表达式提取多行字符串中括号引号中的内容?

新手上路,请多包涵

最近学习python正则表达式,想使用正则表达式提取多行字符串中指定字符串

网上查了好久,网上也有很多人在问,但是都是讲的单行的情况,求大神指点一二

举例:

str = ' jh2kn as.12an sss g2gs.Abc("xxx")asdf;njkasahsda ng2gs.Abc("yyy")'

提取 (" 与 ") 之间的xxx,yyy


我自己做的测试是:

text = ' xxx("https://www.baidu.com/1.pngxxx")'
pattern = r'^(.+)?(".+("))$'

得到的结果:xxx("https://www.baidu.com/1.pngxxx")
其实我只是想得到:https://www.baidu.com/1.pngxxx

很捉急啊

阅读 7.1k
2 个回答

既然只要双引号之间的内容,那就把只给双引号里面的分组。

>>> p= re.compile('.+?"(.+?)"')
>>> p.findall('xxx("https://www.baidu.com/1.pngxxx")')
['https://www.baidu.com/1.pngxxx']
>>> p.findall('jh2kn as.12an sss g2gs.Abc("xxx")asdf;njkasahsda ng2gs.Abc("yyy")')
['xxx', 'yyy']
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题