我的字符串看起来像:
[abc]
line_one xxxxxxxxxxxxxx
line_two xxxxxxxxxxxxxx
[pqr]
line_four xxxxxxxxxxxxxx
line_five xxxxxxxxxxxxxx
[xyz]
line_six xxxxxxxxxxxxxx
line_seven xxxxxxxxxxxxxx
我试图明智地获取这些行。尝试以下正则表达式,但没有运气。
result = re.compile(r'(\[.+\])')
details = result.findall(string)
与此,我得到部分名称,然后我尝试了:
result = re.compile(r'(\[.+\]((\n)(.+))+)')
有什么建议吗?
(\[[^\]]*\][^\[]+)(?:\s|$)
尝试一下,请看演示,这将使您明智地使用线条。
http://regex101.com/r/mP1wO4/1
import re
p = re.compile(ur'(\[[^\]]*\][^\[]+)(?:\s|$)')
test_str = u"[abc]\nline_one xxxxxxxxxxxxxx\nline_two xxxxxxxxxxxxxx\n[pqr]\nline_four xxxxxxxxxxxxxx\nline_five xxxxxxxxxxxxxx\n[xyz]\nline_six xxxxxxxxxxxxxx\nline_seven xxxxxxxxxxxxxx"
re.findall(p, test_str)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句