我们有带有组成员身份和用户详细信息的Windows事件日志。
我们需要提取组和用户详细信息,而不包含域名详细信息。
问题是某些用户或组的前面有域详细信息,例如ABC \ user1,但是其中一些没有包含域详细信息(每个人)
我在这里添加regex101以便了解实际问题。
https://regex101.com/r/uArP6a/1
Group\sMembership:\s+(([A-Za-z0-9-_]+\\)((?<test>[A-Za-z0-9-_ ]+))\s+)
预期结果必须是
非常感谢您的帮助
您可以利用\G
锚点在上一场比赛的末尾断言位置,并使用捕获组(例如命名的捕获组)捕获组和用户详细信息。
(?:^Group Membership:|\G(?!^))\r?\n[\t ]*(?:[^\\\r\n]*\\)*(.+)
关于图案
(?:
非捕获组
^Group Membership:
Group Membership:
从字符串开头开始匹配|
要么\G(?!^)
在上一场比赛的末尾而不是在开始时断言位置)
关闭非捕获组\r?\n[\t ]*
匹配换行符和0+空格或制表符(或[\t ]+
至少1个)(?:[^\\\r\n]*\\)*
重复0次以上匹配不匹配\
或换行符,然后匹配一个\
(.+)
捕获组,匹配除换行符外0次以上的所有字符本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句