我有一个文本,包含如下内容:
(some text)
libncursesw5-dev:amd64 depends on libc6-dev | libc-dev;(some text)
libx32ncursesw5 depends on libc6-x32 (>= 2.16);(some text)
libx32ncurses5-dev depends on libncurses5-dev (= 5.9+20150516-2ubuntu1);(some text)
libx32ncursesw5-dev depends on libc6-dev-x32;(some text)
lib32tinfo-dev depends on lib32c-dev;(some text)
下面是其中一个句子的完整示例:
dpkg: error processing package lib32tinfo5 (--install):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libncurses5-dev:amd64:
libncurses5-dev:amd64 depends on libc6-dev | libc-dev; however:
Package libc6-dev is not installed.
Package libc-dev is not installed.
整篇课文被分成几个段落,例如上面的一段,每个段落包含其中一个句子。你知道吗
我想要一个在python中使用re-library的regex,使用findall选项可以得到如下结果:
('libc6-dev', '', 'libc-dev', '')
('libc6-x32','2.16')
('libncurses5-dev','5.9+20150516-2ubuntu1')
('libc6-dev-x32','')
('lib32c-dev','')
换句话说,我需要你的帮助,以便从这样的文本中获取一个元组,其中包含包及其版本(如果指定的话)。你知道吗
我做了这个正则表达式:
(?<=depends on )([a-zA-Z0-9\-]*)(?: \([=> ]*([a-zA-Z0-9-+.]*)(?:\)))?|(?: \| )([a-zA-Z0-9\-]*)(?: \([=> ]*([a-zA-Z0-9-+.]*)(?:\)))?(?=;)
我得到这个结果:
('libc6-dev', '', '', '')
('', '', 'libc-dev', '')
('libc6-x32', '2.16', '', '')
('libncurses5-dev', '5.9+20150516-2ubuntu1', '', '')
('libc6-dev-x32', '', '', '')
('lib32c-dev', '', '', '')
如你所见,对于这句话:
libncursesw5-dev:amd64 depends on libc6-dev | libc-dev;
我得到了这个答案:
('libc6-dev', '', '', '')
('', '', 'libc-dev', '')
而不是这个:
('libc6-dev', '', 'libc-dev', '')
谢谢你的帮助。你知道吗
输出:
你可以一个接一个或者全部一起拿到,我不知道这是否能帮到你
相关问题 更多 >
编程相关推荐