如果存在NO $ -sign,我需要使用正則表達式(NSClient ++中的「filter = regexp」)來獲取特定行(標記爲「< - 」)它內部有。 下面是我必須搜索的文本樣例的示例(它是從事件日誌中描述的消息)。需要幫助創建一個正則表達式(NSClient ++)
A member was added to a security-enabled global group
Subject:
Security ID: ...
Account Name: ...
Account Domain: ...
Logon ID: ...
Member:
Security ID: ... <--
Account Name: ...
Group:
Security ID: ...
Group Name: ...
Group Domain: ...
Additional Information:
...
因此,如果與「安全標識」開始「會員」 內的線路不包含$ -sign然後我需要的正則表達式的輸出是「安全ID:......」否則應該沒有輸出。
我嘗試了一些不同的東西,但我沒有得到我的工作完全正確的:
/(?<=Member:[\n]).*(Security ID:((?![$]).)*)(?=[\n].*Account Name:)/s
- >錯誤,如果有「安全ID ...」和「帳戶名之間的線路。 ..「和接縫回報兩場比賽。
所以也許有人可以幫助我。 ;)
更新: 如何做到這一點,如果「成員」和「安全ID」之間也可能有多行?
UPDATE2: 其實這就是我的意思:
/(?m)^(?<=Member:[\n])(?:.|\n)*?(Security ID:[^$\n]*$)(?:.|\n)*?(?=Group:[\n])/
感謝您的幫助羅賓& AdamK否則我仍然希望得到它的權利! :)
問候, 塞德里克
如果Sec ID和Acc號碼之間有一條線,那麼我就沒有任何匹配。 – AdamK
我只在這裏試過,直到現在: http://regex101.com/#python and here: http://regex101.com/#pcre – Dobi
@Dobi:Fyi在regex101上,您可以通過點擊來分享您的具體示例Ctrl + S或點擊左邊的「保存正則表達式」 – Robin