Regex以获取用户和IP

Regex以获取用户和IP,regex,Regex,我需要一个正则表达式来从这类行中提取用户USERTOMATCH和分配的IP 10.12.10.12。有什么帮助吗?我不能把好的罚款 2015-08-31 00:24:00 - MYDEVICE - [10.120.12.69] USERTOMATCH(SMS_EmpInside)[NC_EMPER] - VPN Tunneling: Session started for user with IPv4 address 10.12.10.12, hostname MYHOSTNAME A

我需要一个正则表达式来从这类行中提取用户USERTOMATCH和分配的IP 10.12.10.12。有什么帮助吗?我不能把好的罚款

    2015-08-31 00:24:00 - MYDEVICE - [10.120.12.69] USERTOMATCH(SMS_EmpInside)[NC_EMPER] - VPN Tunneling: Session started for user with IPv4 address 10.12.10.12, hostname MYHOSTNAME
A每项评论:

\w+\ ]-.*\d 地址[^,]+ 分别匹配捕获组中的用户名、事件和IP。你的设备是未知的,由于我没有占卜技能,我无法检查它的文件,以了解它允许或支持什么

此\w+\.*地址[^,]+应该可以

第一部分捕获捕获文本a-zA-Z0-9和空格后的uu直到一个圆括号,然后匹配任何内容直到地址,捕获空格后的内容直到空格


这是一个基本的正则表达式,不处理边缘情况,但由于您没有提供大量示例,我假设您的其他日志条目将匹配相同的格式…

您能找到一个不好的吗?请显示您尝试了什么,我们不是来为您做工作的。他不希望IP在[]内,他希望在会话开始后获得IP。@Barmar修复并更新了感谢。我忘了解释我需要分隔正则表达式。这将是:一个regex用于USERTOMATCH,另一个regex用于地址10.12.10.12。然后,我发现我需要另一个正则表达式来识别事件。例如,Thaat将是包含VPN隧道的匹配行:为用户启动的会话。@user3139207为什么需要3个正则表达式?如果你解释你希望实现什么以及我们可以用哪种语言提供帮助,捕获组就在那里。我需要3个单独的正则表达式,因为这是我的设备要求的输入格式,我无法修改。3个正则表达式中的每一个都有一个表格。