python正则表达式中以下语句的用法是什么?

时间:2014-03-06 09:08:51

标签: python python-2.7 python-3.x

我是python的新手,我需要处理现有的python脚本。有人可以解释一下以下陈述的含义是什么

pgre = re.compile("([^T]+)T([^\.]+)\.[^\s]+\s(\d+\.\d+):\s\[.+\]\s+(\d+)K->(\d+)K\((\d+)K\),\s(\d+\.\d+)\ssecs\]")

1 个答案:

答案 0 :(得分:2)

您需要查阅引用以了解该正则表达式的每个部分的确切含义,但其基本目的是解析GC日志记录。表达式()的每个带括号的部分都是与GC行的有用部分匹配的组。

例如,正则表达式([^T]+)T的开头匹配第一个“T”的所有内容,分组部分返回“T”之前的文本,即日期“2013-08-28”< / p>

小组的内容[^T]+表示“至少有一个不是T的字符”

方括号[]中的模式是字符类 - 请参阅上面评论中的参考资料以获取详细信息。请注意,输入文本包含文字方括号,因此模式处理具有\[转义序列的模式 - 请参阅下文。

我认为您可以简单地将([^T]+)T简化为(.+)T

其他有用的子模式:

  • \s匹配空白
  • \d匹配数字数字
  • \. \(\[分别匹配文字句点,括号和方括号,而不是将它们解释为特殊的正则表达式字符