我正在解析一个文件,想在 <color = orange>
中找到或 <color>
从我的文件开始。
然后我要拉出值orange。
我如何使用正则表达式来做到这一点。
到目前为止我有这个(这还不够,因为它不寻找颜色有值的情况):
def main():
basefile = open ("base.txt")
libfile = open ("file.txt")
lines = []
while 1:
line = libfile.readline()
lines.append("%s" % libfile.readline())
if not line:
break
inlibrary = 0
newlibrary = []
for line in lines:
if "<color>" in line:
最佳答案
如果您的问题是匹配正则表达式,请查看它们:
>>> m = re.match("<color(?:\s*=\s*(.*?))?>", "<color>asdfsdaf")
>>> m, m.groups()
(<_sre.SRE_Match object at 0x7fb0579467b0>, (None,))
>>> m = re.match("<color(?:\s*=\s*(.*?))?>", "<color=fuschia>asdfsdaf")
>>> m, m.groups()
(<_sre.SRE_Match object at 0x7fb057946738>, ('fuschia',))
>>> m = re.match("<color(?:\s*=\s*(.*?))?>", "foobarbaz")
>>> m #None
>>>
但是您真的应该为这项工作使用 XML 解析器。
关于python - 正则表达式匹配Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15143788/