我是python的新手,我需要处理现有的python脚本。有人可以解释一下以下陈述的含义是什么
pgre = re.compile("([^T]+)T([^\.]+)\.[^\s]+\s(\d+\.\d+):\s\[.+\]\s+(\d+)K->(\d+)K\((\d+)K\),\s(\d+\.\d+)\ssecs\]")
答案 0 :(得分:2)
您需要查阅引用以了解该正则表达式的每个部分的确切含义,但其基本目的是解析GC日志记录。表达式()
的每个带括号的部分都是与GC行的有用部分匹配的组。
例如,正则表达式([^T]+)T
的开头匹配第一个“T”的所有内容,分组部分返回“T”之前的文本,即日期“2013-08-28”< / p>
小组的内容[^T]+
表示“至少有一个不是T的字符”
方括号[]中的模式是字符类 - 请参阅上面评论中的参考资料以获取详细信息。请注意,输入文本包含文字方括号,因此模式处理具有\[
转义序列的模式 - 请参阅下文。
我认为您可以简单地将([^T]+)T
简化为(.+)T
。
其他有用的子模式:
\s
匹配空白\d
匹配数字数字\.
\(
和\[
分别匹配文字句点,括号和方括号,而不是将它们解释为特殊的正则表达式字符