python - 正则表达式 - 如果在双引号内,则不匹配单引号
问题描述
我仍在学习正则表达式,但找不到解决问题的方法。我想匹配字符串中的所有单引号,但如果单引号在双引号内则不匹配。
例如,我有一个字符串:
'['hello', "that's great", "Good to see you O'shay"]'
我希望能够匹配周围的单引号'hello'
,但不能匹配嵌套在双引号内的单引号。
我希望这是有道理的!提前致谢!
编辑
可以获取字符串,而不是匹配单引号,即
'['hello', "that's great", "Good to see you O'shay"]'
至
'[hello, that's great, Good to see you O'shay]'
不确定这是否会使问题变得更容易或更难?欢迎开导!
解决方案
不是纯正则表达式解决方案。主要是将字符串细分为部分,然后删除不需要的部分:
test = '''['hello', "that's great", "Good to see you O'shay"]'''
import re
parts = re.split(r"(\"[^\"]*\"|'[^']*')", test)
parts = [p for p in parts if p.startswith("'")]
print(parts)
推荐阅读
- python - 根据另一个索引值修改 DataFrame 索引中的值
- java - javax.ejb.EJBException:发送请求时出错[原因:java.io.OptionalDataException]
- arrays - MongoDB - 无法将项目推送到数组内的对象内的数组
- php - Laravel - 从刀片视图中的模型关系中检索属性
- python - 从Mysql中选择时无法转换Python类型元组
- elasticsearch - 如何调试弹性搜索错误 number_format_exception 原因为“空字符串”但没有字段名称
- list - “这不是记录”-尝试对列表进行排序时出错
- javascript - 使用 JS 和 VBA 将空白文本框添加到 Abobe Acrobat PDF
- json - 去 openweathermap 预测返回类型
- css - 如何使 2 个 div 具有相同的高度,一个图像(没有 javascript)?