Python 从特定位置提取数据,不考虑空格

Python 从特定位置提取数据,不考虑空格,python,regex,Python,Regex,我有一个文件,里面有几百行相似的图案。每一行的格式如下: (消息:“DoS”流:到服务器,已建立;内容:“FF FF FF”快速模式:仅限;元数据:规则集社区;参考:bugtraq,2347;参考:cve,2001-0144;参考:cve,2001-0572;类类型:外壳代码检测;sid:1326;版本:13;) 我想提取每行中提到的内容。因此,我想从上述示例中提取: FF FF FF FF 到目前为止,我有一个正则表达式: (?:内容):“(\S+” 但这仅在匹配文本中没有空格字符时才起作用。

我有一个文件,里面有几百行相似的图案。每一行的格式如下:

(消息:“DoS”流:到服务器,已建立;内容:“FF FF FF”快速模式:仅限;元数据:规则集社区;参考:bugtraq,2347;参考:cve,2001-0144;参考:cve,2001-0572;类类型:外壳代码检测;sid:1326;版本:13;)

我想提取每行中提到的内容。因此,我想从上述示例中提取:

FF FF FF FF

到目前为止,我有一个正则表达式:

(?:内容):“(\S+”

但这仅在匹配文本中没有空格字符时才起作用。在创建一个通用正则表达式时有什么帮助吗?该正则表达式提取内容中的任何内容,而不考虑空格


谢谢。

(?如果你使用lookback,那么你就不需要使用捕获组。@AvinashRaj是的,但是OP也使用了它,所以放进去了。它很有效。但是如果我还想提取前导和前导的“|”呢还有中间的数据吗?是的,我刚想把它拿出来,因为我自己已经弄明白了。谢谢你的快速帮助。我会继续阅读regexOne的更多内容。最终的想法是沿着“开始”和“结束”进行概括。因此,我们不去匹配“开始”和“结束”中的内容,例如,内容:“******”所以我们提取******是什么。你建议怎么做?
(?<=content:"\|)([^|]+)