登录
首页 >  文章 >  python教程

如何利用正则表达式反选引号外文本,获取给定字符串中带有引号的内容之外的文本?

时间:2024-10-26 10:15:22 342浏览 收藏

从现在开始,努力学习吧!本文《如何利用正则表达式反选引号外文本,获取给定字符串中带有引号的内容之外的文本?》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

如何利用正则表达式反选引号外文本,获取给定字符串中带有引号的内容之外的文本?

正则表达式反选引号外文本

问题:

如何利用正则表达式反选给定字符串中带有引号的内容之外的文本,得到以下结果?

['1', '2', '5', '6', '9', '0']

答案:

方法 1:删除带有引号的文本,再以逗号分割

先使用正则表达式将带有引号的文本删除,然后用逗号分割字符串:

a = '"3,4",1,2,"3,4","3,4",5,6,"7,8",9,0,"3,4"'
result = re.sub('(?:".*?",?|,".*?")', '', a).split(',')
print(result)

方法 2:匹配不包含逗号和引号的文本

使用正则表达式匹配以逗号分割的文本,但排除包含逗号和引号的文本:

result = re.findall('(?<![^,])[^,"]*(?![^,])', a)
print(result)

方法 3:匹配引号之外的文本,再过滤掉未带引号的文本

先使用正则表达式匹配包含引号的文本和不包含引号的文本,然后过滤掉未带引号的文本:

result = [m[1] for m in re.finditer('(?:".*?"|(.*?))(?:,|$)', a) if m[1]]
print(result)

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>