Extrahieren bestimmter Daten aus einer Zeichenfolge mit Regex und Powershell

8

Ich möchte aus dieser Zeichenfolge extrahieren

  

blockierter-Prozess-Bericht Prozess-ID="process435d948" taskpriority="0" logused="0" waitresource="RID: 7: 1: 1132932: 0" Wartezeit =   "3962166" ownerId="4641198" Transaktionsname="SELECT" lasttranstarted="2011-09-13T17: 21: 54.950" XDES="0x80c5f060" Sperrmodus="S" schedulerid="4" kpid="18444" status="susp   beendet " spid=" 58 " sbid=" 0 "ecid=" 0 "

Der Wert, der fett gedruckt ist, aber nur der Wert oder 58. Und dieser Wert kann verschiedene Werte haben, manchmal 80 oder 1000 usw., aber immer & gt; 50.

Wie kann ich das mit Regex und Posh machen?

    
user353401 13.09.2011, 22:06
quelle

2 Antworten

25

Das schnelle und schmutzige:

%Vor%

wobei $string die oben erwähnte Zeichenfolge ist. Dies entspricht einer beliebigen Zeichenfolge mit spid="somenumberhere" und macht die Zahl zu einer übereinstimmenden Gruppe, die Sie mit $matches[1] extrahieren können.

    
Jon Angliss 13.09.2011, 22:12
quelle
0

Speichern Sie das als, sagen wir $string .

Dann mach

%Vor%

Wenn es eine Übereinstimmung gibt, ist der gewünschte Wert in $matches[1]

    
manojlds 13.09.2011 22:13
quelle

Tags und Links