0

我有一个用 Python 编写的程序,可以打印这样的代码:

<script type="text/javascript" language="JavaScript">
ArtistName = "FUN.";
SongName = "We Are Young";
</script> 

我尝试在 awk 中编写一个脚本,以允许我将 ArtistName 和 SongName 保存为变量,但看不到它。有没有办法在python中做到这一点?

4

2 回答 2

0

如果需要,您可以使用正则表达式将ArtistName和保存SongName为字典中的键。

以下是一些正则表达式解释的链接:Python Docs and Tutorials Point

import re

s = #string you're parsing

regex = re.compile(r'\w+ = \".*\";')
matches = regex.findall(s)

dict1 = {}
for m in matches:

    elems = m.split(" = ")

    dict1[str(elems[0])] = elems[len(elems) - 1].strip(';')


print (dict1['ArtistName'])
print (dict1['SongName'])

输出(使用您的示例字符串):

'"FUN."'
'"We Are Young"'
于 2013-07-01T14:43:51.373 回答
0

如果您的数据足够一致,您可能可以使用正则表达式(只要您没有带有"等的名称),例如:

text="""<script type="text/javascript" language="JavaScript">
ArtistName = "FUN.";
SongName = "We Are Young";
</script> """

import re

print dict(re.findall(r'((?:Artist|Song)Name)\s=\s"([^"]*)"', text))
# {'ArtistName': 'FUN.', 'SongName': 'We Are Young'}
于 2013-07-01T14:45:30.660 回答