【发布时间】:2018-09-10 19:35:38
【问题描述】:
我想使用 Python 正则表达式模块 re
将可选的双引号字符串与正则表达式匹配表达式应该给出以下结果:
"Assets". => 应该匹配
Assets. => 应该匹配
"Assets. => 不应该匹配
Assets". => 不应该匹配
我尝试在正则表达式中使用反向引用来实现这一点:
("?)Assets\1
但是,即使没有匹配的结束引号,它也会匹配。
"Assets. -> 忽略初始引号 ",并匹配单词的其余部分。
什么是正确的表达方式?
【问题讨论】:
-
如果字符串包含转义怎么办(如
"Foo \" Bar"?) -
无论你试图用正则表达式解析什么,都不应该用正则表达式解析。
-
此外,如果中间有引号,例如
Foo "" Bar等,还不清楚会发生什么。如果您尝试解析字符串literals,这是可能的使用正则表达式(尽管可能不建议这样做)。 -
如何识别未引用值的开头和结尾?