【发布时间】:2017-12-26 15:50:29
【问题描述】:
我正在尝试使用 python findall() 从以下“文本”中获取多个元组
text = '[szur formatter] line 1<?xml version="1.0"?><star>[szur parser] line 2<?xml version="1.0"?><Planet>'
我想从'text'中获取以下匹配模式
Match 1
[szur formatter] line 1
<?xml version="1.0"?><star>
Match 2
[szur parser] line 2
<?xml version="1.0"?><Planet>
我正在尝试使用此正则表达式对 findall 进行此操作
re.findall(r'\[(szur.*?[^<])(<.*>+)', text)
这会产生
[('szur formatter] line 1', '<?xml version="1.0"?><star>[szur parser] line 2<?xml version="1.0"?><Planet>')]
如何获得预期的结果。我的正则表达式不会产生第二个元组。我需要如何修改我的正则表达式才能获得这个?任何指针将不胜感激。
【问题讨论】:
-
(\[szur.*?[^\[<]+)([^\[]+)? regex101.com/r/EaPBwA/2