我正在尝试使用python findall()从下面的“text”中获取多个元组
text = '[szur formatter] line 1<?xml version="1.0"?><star>[szur parser] line 2<?xml version="1.0"?><Planet>'
我想从“文本”中获得以下匹配模式
Match 1
[szur formatter] line 1
<?xml version="1.0"?><star>
Match 2
[szur parser] line 2
<?xml version="1.0"?><Planet>
我想用这个正则表达式和芬德尔一起做这个
re.findall(r'\[(szur.*?[^<])(<.*>+)', text)
这就产生了
[('szur formatter] line 1', '<?xml version="1.0"?><star>[szur parser] line 2<?xml version="1.0"?><Planet>')]
如何达到预期的效果。我的正则表达式不会产生第二个元组。我需要怎样修改我的正则表达式才能得到这个?任何提示都将不胜感激。你知道吗
我想知道这是否是一个好主意(即使用正则表达式),但这里您可以:
使用
DOTALL
修饰符并参见a demo on regex101.com。在
Python
中:下面是一个regexp,它做了一些假设:
但说真的,伙计,如果你发现自己在用regexp解析XML和非XML的混合,问问自己:“我是怎么到这里来的?”你知道吗
相关问题 更多 >
编程相关推荐