2024-09-25 10:35:01 发布
网友
我以以下字符串为例:
string = "@@ cat $$ @@dog$^"
我想提取在“@@”和“$”之间锁定的所有stringa,因此输出将是:
我只知道如何提取第一次出现的情况:
import re r = re.compile('@@(.*?)$') m = r.search(string) if m: result_str = m.group(1)
欢迎就如何抓住它们提出想法和建议。在
使用^{}获取子字符串的每次出现。$在正则表达式中被认为是一个特殊字符,意思是“字符串的结尾”锚点,因此需要转义$来匹配文本字符。在
$
>>> import re >>> s = '@@ cat $$ @@dog$^' >>> re.findall(r'@@(.*?)\$', s) [' cat ', 'dog']
要删除前导空格和尾随空格,只需在捕获组之外进行匹配即可。在
另外,如果上下文有可能跨越换行符,您可以考虑使用否定。在
>>> re.findall(r'@@\s*([^$]*)\s*\$', s)
使用^{} 获取子字符串的每次出现。
$
在正则表达式中被认为是一个特殊字符,意思是“字符串的结尾”锚点,因此需要转义$
来匹配文本字符。在要删除前导空格和尾随空格,只需在捕获组之外进行匹配即可。在
^{pr2}$另外,如果上下文有可能跨越换行符,您可以考虑使用否定。在
相关问题 更多 >
编程相关推荐