2024-09-20 03:44:26 发布
网友
我有一根像这样的绳子:
a = '\x02 ciao \n\x0b sdjfip \n\x03 dsfd\ \x02 bella fasfs \n\x0b\x03\n'
我的目标是提取\x02和{}中包含的子字符串,它们是:
\x02
ciao \n
bella fasfs \n
输出子字符串应该存储在一个列表中。在
到目前为止,我尝试使用以下代码行
但是变量result是空的。在
result
我该怎么做才能得到可能的结果?在
注意:a实际上是一个泛型字符串,因此它可以包含2个以上感兴趣的子字符串。在
a
问题是换行符,而不是其他字符。启用re.DOTALL以匹配换行符:
re.DOTALL
If the DOTALL flag has been specified, this matches any character including a newline.
此外,要找到所有的字符串(不仅是第一个匹配对象,这对您不感兴趣),不要使用re.search,而是使用re.findall
re.search
re.findall
result = re.findall('\x02(.*?)\x0b', a,re.DOTALL)
输出:
您可以使用以下语法:
re.findall("\\x02(.*?)\\x0b", a, re.I | re.M | re.S)
您得到空集是因为\n是特殊字符,并且在搜索模式中它默认不包含在.中。在
\n
.
问题是换行符,而不是其他字符。启用
re.DOTALL
以匹配换行符:此外,要找到所有的字符串(不仅是第一个匹配对象,这对您不感兴趣),不要使用
re.search
,而是使用re.findall
输出:
^{pr2}$您可以使用以下语法:
您得到空集是因为
\n
是特殊字符,并且在搜索模式中它默认不包含在.
中。在相关问题 更多 >
编程相关推荐