Skip to main content
 首页 » 编程设计

python之选择字符\x02 和\x0b 之间的子字符串

2025年05月04日46unruledboy

我有一个看起来像这样的字符串:

a = '\x02 ciao \n\x0b sdjfip \n\x03 dsfd\ \x02 bella fasfs \n\x0b\x03\n' 

我的目标是提取包含在 \x02 和 x0b 中的子字符串,它们是:

  • 再见\n
  • bella fasfs\n

输出的子字符串应该存储在一个列表中。

到目前为止,我尝试使用以下代码行

import re 
result = re.search('\x02(.*?)\x0b', a) 

但是变量 result 是空的。

我应该怎么做才能得到可能的结果?

注意:a 实际上是一个通用字符串,因此它可以包含超过 2 个感兴趣的子字符串。

请您参考如下方法:

问题是换行符,而不是其他字符。启用 re.DOTALL 以匹配换行符:

If the DOTALL flag has been specified, this matches any character including a newline.

此外,要找到所有的字符串(不仅是第一个匹配对象,你不感兴趣),不要使用re.search,而是使用re.findall

result = re.findall('\x02(.*?)\x0b', a,re.DOTALL) 

输出:

[' ciao \n', ' bella fasfs \n']