簡體   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