我从一个连接器收到一个非常特定的字符串格式:
{#{123}#};{#{abc}#}\n{#{345}#};{#{def}#}\n{#{789}#};{#{ghi}#}
我不能改变这种格式。目前,我使用正则表达式(?s){#{(.*?)}#}
。
有没有可能把输出按行分组?比如[("123", "abc"), ("345", "def"), ("789", "ghi")]
-我知道我也可以在python中使用split
。有没有正则表达式的方法?我试了一下www.regex101.com,但是没有找到解决方案。
1条答案
按热度按时间vwkv1x7d1#
由于每行都有匹配对,因此可以捕获它们:
请参阅Python demo。
输出量:
请注意,不应使用
(?s)
DOTALL内联标志,因为它会使.
跨行匹配。