Python正则表达式部分提取
我想查找括在[[ ]]
所有数据。
[[aaaaa]] - > aaaaa
我的Python代码(使用re库)是
la = re.findall(r'[[(.*?)]]', fa.read())
如果我只想从[[a|b]]
提取'a',该怎么办
任何这个任务简洁的正则表达式? (提取数据之前|
)
还是应该使用额外的if语句?
你可以试试:
r'[[([^]|]*)(?=.*]])'
([^]|]*)
将匹配到|
或]
找到。 并且(?=.*]])
是一个预见,以确保]]
在匹配的RHS上匹配。
测试:
>>> re.search( r'[[([^]|]*)(?=.*]])', '[[aaa|bbb]]' ).group(1)
'aaa'
>>> re.search( r'[[([^]|]*)(?=.*]])', '[[aaabbb]]' ).group(1)
'aaabbb'
链接地址: http://www.djcxy.com/p/29459.html