占用捕获组

时间:2017-02-03 15:40:26

标签: java regex

我试图编写一个正则表达式来捕获Windows Defender在各种有效负载中找到的一些AV数据。

常见字符串是:

TargetUser:

问题在于尝试捕获包含空格的用户名时。我的正则表达式只能捕获" NT" - 请参阅Regex101上的test string

TargetUser: "CONTOSO\JDoe" 
TargetUser: "NT AUTHORITY\SYSTEM"

正则表达式:

TargetUser:\s+([^ ]+)

2 个答案:

答案 0 :(得分:4)

您可以使用TargetUser:\s+"([^"]+)"

"([^"]+)":匹配"然后捕获所有内容,直到"

Regex Demo

如果你想捕获",那么移动"内部捕获组,如

TargetUser:\s+("[^"]+")

答案 1 :(得分:0)

你的正则表达式是“一个或多个空格后跟一个或多个非空格”。您的用户名中可以显示哪些有效字符?假设它是空格,alphas和数字。这个的正则表达式是[a-zA-Z0-9] +

相关问题