输入:'(tagname1, tagvalue1),(tagname2,tagvalue2), ( tagname3, tagvalue3 ), (tag name4,tag value4)'
输出:[("tagname1", "tagvalue1"), ("tagname2", "tagvalue2"), ("tagname3", "tagvalue3"), ("tag name4", "tag value4")]
我有一个解决方案,但是只有当输入包含每个元素的引号时,它才有效:"tagname1", "tagvalue1" ...
import ast
ast.literal_eval(input_string)
我收到:ValueError: malformed string
有什么解决方案可以让它工作(也请看空格)?在
尝试另一种方法,使用正则表达式:
Burhan建议的另一种方法是利用反向引用的能力。您可以阅读有关反向引用here的更多信息。在
您可以看到正则表达式演示here。在
注意:
我还使用了use
pattern.finditter()
,因为这样您可以通过文本中的所有模式发现进行迭代。来自芬代尔文件:另一种非正则表达式方法:
结果是:
^{pr2}$只要标记不能以
(space),
(
,或)
开头或结尾,并且不包含任何,
s,那么它就可以工作相关问题 更多 >
编程相关推荐