繁体   English   中英

正则表达式-匹配字符然后捕获

[英]Regex - Matching characters then capturing

这是我在StackOverflow上的第一篇文章,正则表达式对我来说是新的,请耐心等待。

我正在尝试捕获powershell命令事件日志中的字段。 我的文字格式如下:

(Get-AdUser): name="Identity"; value="Username"

and also capture the value field of "username" 我想捕获括号的字符串,也要捕获“用户名”的值字段

如果可能的话,最终输出

Get-AdUser Username

将会是完美的。

棘手的是,我想捕获括号内的所有值(单词“ Out-Default”除外)。 默认值是命令的输出,而不是命令本身。

到目前为止,我有:

\((?!Out-Default)([^)]+)\)

匹配括号内的任何内容,但“ Out-Default”除外。

我不确定如何从这里开始。 任何建议表示赞赏。

更新-是否可以仅使用1个捕获组来捕获:

(Get-AdUser): name="Identity"; value="Username"

并且结果看起来像

Get-AdUser name=Identity value=Username

希望这项工作

\((?!Out-Default)([^)]+)\).*?value="([^"]+)"

正则表达式演示

说明:
\\ :转义特殊字符示例
( … ) :捕获组样本
(?!…) :负前瞻样本
[^x] :一个不是x 样本的字符
+ :一个或多个样本
. :除换行符示例外的任何字符
* :零次或多次采样
? :一次或一次不取样

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM