我想将以下标记<b size=5 alt=ref>
拆分如下:
Open tag: b
Parm: size=5
Parm: alt=ref
但是,我尝试使用以下代码将标记拆分为组,但它不起作用:
temp = '<b size=5 alt=ref>'
matchObj = re.search(r"(\S*)\s*(\S*)", temp)
print 'Open tag: ' + matchObj.groups()
我的计划是将标签拆分成组,然后将第一组打印为打开标签,其余组打印为Parm。你能否提出任何有助于我解决这个问题的想法?
请注意,我从html文件中读取了标签,但我在这里提到了一个开放标签的示例,我展示了我遇到的代码部分。
由于
答案 0 :(得分:1)
tag_names = ["Open tag:","Parm:","Parm:"]
import re
# split on <,>,white space, and remove empty strings at
# the start and at the end of the resulting list.
tags = re.split(r'[<> ]','<b size=5 alt=ref>')[1:-1]
# zip tag_names list and with list of tags
print(list(zip(tag_names, tags)))
[('Open tag:', 'b'), ('Parm:', 'size=5'), ('Parm:', 'alt=ref')]
答案 1 :(得分:0)
>>> import re
>>> temp = '<b size=5 alt=ref>'
>>> resList = re.findall("\S+", temp.replace("<","").replace(">",""))
>>> myDict = {}
>>> myDict["Open tag:"] = [resList[0]]
>>> myDict["Parm:"] = resList[1:]
>>> myDict
{'Open tag:': ['b'], 'Parm:': ['size=5', 'alt=ref']}