Python正则表达式查找两个字符对之间的所有子字符串
我在这里尝试了以前的答案。我只能找到其中的一个子集 下面是我正在编写的代码和示例Python正则表达式查找两个字符对之间的所有子字符串,python,regex,Python,Regex,我在这里尝试了以前的答案。我只能找到其中的一个子集 下面是我正在编写的代码和示例 s = "{| mySting0 |} The {| mySting1 |} The {| mySting2 |} The {| mySting3 |} make it work " result = re.findall('{\|(.*)|}', s) 输出是, [' mySting0 |} The {| mySting1 |} The {| mySting2 |} The {| mySting
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 ']
更改为:
*?
而不是贪婪的*
|
您可以使用此正则表达式:
>>> s = "{| mySting0 |} The {| mySting1 |} The {| mySting2 |} The {| mySting3 |} make it work "
>>> re.findall(r'{\|(.*?)\|}', s)
[' mySting0 ', ' mySting1 ', ' mySting2 ', ' mySting3 ']
更改为:
*?
而不是贪婪的*
|