我已经在 SO 上尝试过以前的答案。我只能找到其中的一个子集。
这是我正在处理的代码和示例。
s = "{| mySting0 |} The {| mySting1 |} The {| mySting2 |} The {| mySting3 |} make it work "
result = re.findall('{\|(.*)|}', s)
输出是,
[' mySting0 |} The {| mySting1 |} The {| mySting2 |} The {| mySting3 |} make it work ']
我做错了什么?
请您参考如下方法:
你可以使用这个正则表达式:
>>> s = "{| mySting0 |} The {| mySting1 |} The {| mySting2 |} The {| mySting3 |} make it work "
>>> re.findall(r'{\|(.*?)\|}', s)
[' mySting0 ', ' mySting1 ', ' mySting2 ', ' mySting3 ']
变化是:
- 使用惰性量词
.*?而不是贪婪的.* - Excape 2nd
|以及您的正则表达式
