我有几个这样的字符串:
unicode 0, <runtime error >,0
unicode 0, <TLOSS error>
unicode 0, <- Attempt to use MSIL code >
unicode 0, <ModuleNameA>
我正在尝试使用re来匹配“&lt;”中的所有字符串“&gt;” 中
我试过了:
items = line.split()
pattern = r"<.+?>"
match = re.findall(pattern, items[2])
但似乎空间无法处理..
有人能给我一些帮助吗?
谢谢!
答案 0 :(得分:3)
items[2]
包含部分内容:
>>> items = line.split()
>>> items[2]
'<runtime'
只需将line
传递给re.findall
:
>>> line = 'unicode 0, <runtime error >,0'
>>> re.findall(r'<.+?>', line)
['<runtime error >']
答案 1 :(得分:1)
只是不要拆分它们并按原样使用字符串,就像这样
line = "unicode 0, <runtime error >,0"
import re
print(re.findall(r"<.+?>", line))
# ['<runtime error >']
如果你只想要里面的字符串,你可以做
print(re.search(r"<(.+?)>", line).group(1))
# runtime error