我有这个日志行:
blabla@gmail.com, Portal, qtp724408050-38, com.blabla.search.lib.SearchServiceImpl .logRequest, [Input request is lookupRequestDTO]
我需要找到一个抓取该电子邮件的正则表达式,然后匹配lookupRequestDTO忽略其间的所有内容。
目前我的正则表达式占据了整条线:
([\w-\.]+)@gmail.com,(.+)lookupRequestDTO
如何在电子邮件和lookupRequestDTO之间找不到任何内容?
答案 0 :(得分:0)
假设你正在使用PCRE(php,perl等,这应该在javascript中运行):
([\w-\.]+?@gmail\.com),(?:.+)(lookupRequestDTO)
在捕获组1和2之外,您将获得:
MATCH 1
blabla@gmail.com
lookupRequestDTO
答案 1 :(得分:0)
这个怎么样?
([^,]+).*?lookupRequestDTO
[^,] +匹配所有内容,直到第一个逗号,所以它应该为您提供电子邮件
它假定lookupRequestDTO是您搜索的标准。如果它是您要检索的变量,则可以使用:
([^,]+).*?\[Input request is ([^\]]+)