正则表达式解析日志文件的某些字段

时间:2014-01-09 21:12:30

标签: regex

我有这个日志行:

blabla@gmail.com, Portal, qtp724408050-38, com.blabla.search.lib.SearchServiceImpl     .logRequest, [Input request is lookupRequestDTO]

我需要找到一个抓取该电子邮件的正则表达式,然后匹配lookupRequestDTO忽略其间的所有内容。

目前我的正则表达式占据了整条线:

([\w-\.]+)@gmail.com,(.+)lookupRequestDTO

如何在电子邮件和lookupRequestDTO之间找不到任何内容?

2 个答案:

答案 0 :(得分:0)

假设你正在使用PCRE(php,perl等,这应该在javascript中运行):

([\w-\.]+?@gmail\.com),(?:.+)(lookupRequestDTO)

在捕获组1和2之外,您将获得:

MATCH 1

  1. blabla@gmail.com
  2. lookupRequestDTO
  3. 工作示例:http://regex101.com/r/yW9eU3

答案 1 :(得分:0)

这个怎么样?

([^,]+).*?lookupRequestDTO

[^,] +匹配所有内容,直到第一个逗号,所以它应该为您提供电子邮件

它假定lookupRequestDTO是您搜索的标准。如果它是您要检索的变量,则可以使用:

([^,]+).*?\[Input request is ([^\]]+)
相关问题