使用python正则表达式提取用方括号分隔的项目

使用python正则表达式提取用方括号分隔的项目,第1张

概述我正在尝试使用 python正则表达式拆分由方括号分隔的单词/短语.我想拆分输出.条件是以方括号开头和结尾的文本部分将被拆分为不同的元素. 这是我到目前为止,但它无法正常工作: import ret="word1 word2 3456 [abc def] [ghi jkl] [1234] [-abcd] word 2345"re.split("(\[)(.*)(\])+",t) 输出: ['w 我正在尝试使用 python正则表达式拆分由方括号分隔的单词/短语.我想拆分输出.条件是以方括号开头和结尾的文本部分将被拆分为不同的元素.

这是我到目前为止,但它无法正常工作:

import ret="word1 word2 3456 [abc def] [ghi jkl] [1234] [-abcd] word 2345"re.split("(\[)(.*)(\])+",t)

输出:

['word1 word2 3456 ','[','abc def] [ghi jkl] [1234] [-abcd',']',' word [xyz 2345']

我希望输出类似于:

['word1 word2 3456 ','[abc def]',' ','[ghi jkl]','[1234]','[-abcd]',' word [xyz 2345']

请注意,只有具有左右方括号的项目才会被拆分.

我也试过这个:

re.split("(\[.*\])+",t)

但是只能按第一个和最后一个方括号分开

['word1 word2 3456 ','[abc def] [ghi jkl] [1234] [-abcd]',' word [xyz 2345']
解决方法 使用 . ?代替 .*:

>>> re.split("(\[.+?\])",t)['word1 word2 3456 ',' word 2345']
总结

以上是内存溢出为你收集整理的使用python正则表达式提取用方括号分隔的项目全部内容,希望文章能够帮你解决使用python正则表达式提取用方括号分隔的项目所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1193187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存