如何获取两个字符串之间的中间内容?

时间:2019-10-14 15:06:10

标签: python regex

我需要在两个字符串分隔符之间使用中间内容,事实是我在整个字符串中具有三个打印的分隔符,我需要使用第二个分隔符并将其中间内容移向最后一个分隔符。

这是示例:

sh: 1: Syntax error: "&&" unexpected

正确的输出必须是:

'__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__

我做错了什么?

致谢。

2 个答案:

答案 0 :(得分:3)

为什么不

await

答案 1 :(得分:0)

由于文本中有REGEX,因此需要使用DOTALL标志来编译\n

  regex = re.compile(r"'__SEPARATOR__'.*?'__SEPARATOR__'(.*?)__SEPARATOR__", re.DOTALL)

默认情况下,.\n不匹配,并且您可以简化REGEX (.*?),但是我认为您不需要使用{{1} }更容易。