【发布时间】:2016-02-15 02:47:46
【问题描述】:
我有一个字符串:
test_str = 'This is the string and it "contains {0} a" few {1} sets of curly brackets'
我想只在这个例子中找到{0}和不{1},也就是说,括号本身和它们的内容,如果只是在一个集合中双引号。
我已经开始通过匹配双引号中的部分来解决这个问题:
(?<=").*(?=")
见https://regex101.com/r/qO0pO2/1
但我很难仅匹配 {0} 部分
如何扩展此正则表达式以匹配 {0}?
【问题讨论】:
-
|的用途是什么?你想捕捉整个事物,而不是非此即彼。环顾四周寻找什么?此外,鉴于str.format的工作原理,Python 和/或其标准库中可能有一些非常有效的代码。 -
@jonrsharpe,我将把它用于另一个目的,即在我的文本编辑器中添加语法定义。我必须首先确保括号在双引号之间。
-
知道引号之间(而不是引号之外)的唯一方法是匹配所有引用的字符串(带有单引号和双引号),从开始到带有
{n}的打开双引号字符串里面。
标签: python regex regex-lookarounds