我需要在两个字符串分隔符之间取一个中间内容,事实上,在整个字符串中有三个打印分隔符,我需要取第二个分隔符,使其中间内容朝向最后一个分隔符。你知道吗
例如:
'__SEPARATOR__'\r\nVMlinux2@ubuntu:~$ ifconfig && echo '__SEPARATOR__'\r\nens33: flags=4163<UP, 'BROADCAST', 'RUNNING', 'MULTICAST> mtu 1500inet 10.10.10.11 netmask 255.255.240.0 broadcast 10.10.10.255 __SEPARATOR__
正确的输出必须是:
\r\nens33: flags=4163<UP, 'BROADCAST', 'RUNNING', 'MULTICAST> mtu 1500inet 10.10.10.11 netmask 255.255.240.0 broadcast 10.10.10.255
我试过使用这个正则表达式,但不起作用:
'__SEPARATOR__'.*?'__SEPARATOR__'((.|\r|\n|\r\n|\n\r)*)__SEPARATOR__
我的职能:
def get_cmd_output(output):
regex = r"'__SEPARATOR__'.*?'__SEPARATOR__'((.|\r|\n|\r\n|\n\r)*)__SEPARATOR__"
output = re.search(regex, output).group(1)
return output
我做错了什么?你知道吗
敬礼。你知道吗
您需要使用
DOTALL
标志编译REGEX
,因为您的文本中有\n
:默认情况下
.
不匹配\n
,您可以简化REGEX(.*?)
,但我认为您不需要,因为使用split
提供的答案更简单。你知道吗为什么不呢
相关问题 更多 >
编程相关推荐