我有一个像这样的示例字符串:
[{HST, AKST, PST, MST, CST, EST, AST, WAT, CET, GMT, EET, CCT, AWST, JST, EAST, NZT} {0:10}]
我对括号中的第一组项目感兴趣:
{HST, AKST, PST, MST, CST, EST, AST, WAT, CET, GMT, EET, CCT, AWST, JST, EAST, NZT}
我想解析集合并将其放入列表中。我正在使用python。
答案 0 :(得分:2)
for match in re.finditer("(?i)[a-z]+", subject):
# match start: match.start()
# match end (exclusive): match.end()
# matched text: match.group()
这将帮助您遍历列表中的“元素”。
编辑:您现在将其写为更大字符串的一部分。这改变了原来的问题。
for match in re.finditer(r"(?i)(?:(\b[a-z]+\b)[,}])", subject):
# match start: match.start()
# match end (exclusive): match.end()
# matched text: match.group(1)
这将找到您的列表并提取其中的单词。
答案 1 :(得分:0)
正则表达式只是创建令牌,之后你需要用它们做些什么。幸运的是,python的标准正则表达式lib包含一个函数,可以为您提供它找到的所有值。
import re
input = '{HST, AKST, PST, MST, CST, EST, AST, WAT, CET, GMT, EET, CCT, AWST, JST, EAST, NZT}'
data = re.findall(r'\w+', input)
此外,这将找到所有“单词”。根据有效输入的不同,您可能需要更强大的正则表达式。在这方面,其他细节会有所帮助。
答案 2 :(得分:0)
要拆分字符串,可以使用string.split(s,',')
。这将返回一个基于s的字符串列表,这些字符串分为字符','。
http://docs.python.org/library/stdtypes.html#str.split
要从较大的字符串中获取此列表,请首先分析“{”和“}”字符。