我想从这个字符串中提取
blocked-process-report process id ="process435d948"taskpriority ="0"logused ="0"waitresource ="RID:7:1:1132932:0"waittime ="3962166"ownerId ="4641198"transactionname ="SELECT"lasttranstarted ="2011-09-13T17:21:54.950"XDES ="0x80c5f060"lockMode ="S"schedulerid ="4"kpid ="18444"status ="susp ended" spid ="58" sbid ="0"ecid = "0"
以粗体显示的值,但仅为值或58.此值可以是不同的值,有时为80或1000等,但总是> 50.
我怎么能用正则表达式和豪华来做到这一点?
Jon*_*iss 32
快速又脏:
$found = $string -match '.*spid="(\d+)".*'
if ($found) {
$spid = $matches[1]
}
Run Code Online (Sandbox Code Playgroud)
$string你上面提到的字符串在哪里 这将匹配任何具有spid ="somenumberhere"的字符串,并将该数字组成一个匹配的组,您可以使用该组进行提取$matches[1].