python - 正则表达式匹配Python

标签 python regex

我正在解析一个文件,想在 <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/

相关文章:

javascript - 用于解析类似 jQuery 选择器的字符串的正则表达式

python - Pandas 将两列相加,跳过 NaN

python - 在 Pandas 中,当使用 "where"选择时,删除不满足条件的列,而不是用 NaN 填充

python - 在 Python 中寻找片状测试的根本原因

r - 从字符串中提取某些数字

regex - sed 中的特殊字符

c++ - Qt C++ QRegExp 解析字符串

python - 将多行(读取为单行/输入)粘贴到 Spyder 控制台

Python ctypes 回调函数给出 "TypeError: invalid result type for callback function"

javascript正则表达式替换子字符串