实施例
x='RTRV:&PM_DICT[&PM_LIST&:&PM_LIST&]&'
将生成如下数据的正则表达式是什么?
PM_DICT[
PM_LIST
PM_LIST
]
“&”内的所有文字符号。
答案 0 :(得分:2)
x='RTRV:&PM_DICT[&PM_LIST&:&PM_LIST&]&'
>>> x.split("&")[1:]
['PM_DICT[', 'PM_LIST', ':', 'PM_LIST', ']', '']
或删除空项目
>>> filter(lambda i: len(i) > 0, x.split("&")[1:])
['PM_DICT[', 'PM_LIST', ':', 'PM_LIST', ']']
你的问题中神秘地遗漏了:
。它去了哪里?进入filter
或许?
>>> forbidden_items = set(["", ":", "RTRV:"])
>>> filter(lambda i: i not in forbidden_items, x.split("&"))
['PM_DICT[', 'PM_LIST', 'PM_LIST', ']']
答案 1 :(得分:0)
>>> x
'RTRV:&PM_DICT[&PM_LIST&:&PM_LIST&]&'
>>> re.split('&',x)[1:]
['PM_DICT[', 'PM_LIST', ':', 'PM_LIST', ']', '']
>>> x.split('&')[1:]
['PM_DICT[', 'PM_LIST', ':', 'PM_LIST', ']', '']