programing

regex 및 Powershell이 있는 문자열에서 특정 데이터 추출

powerit 2023. 9. 15. 21:25
반응형

regex 및 Powershell이 있는 문자열에서 특정 데이터 추출

이 문자열에서 추출하고 싶습니다.

blocked-process-report process id="process435d948" 작업 우선 순위="0" logused="0" wait resource="RID: 7:1:1132:0" wait time="3962166" ownerId="4641198" 트랜잭션 이름="SELECT" lasttransstarted="2011-09-13T17:21:54.950" XDES="0x80c5f060" lockMode="S" schedulerid="4" kpid="float4" 상태="suspended" spid="58" sbid="0" ecid="0"

굵게 표시되지만 값 또는 58만 표시되는 값입니다.그리고 이 값은 다른 값을 가질 수 있으며, 때로는 80 또는 1000 등이 될 수 있지만 항상 50을 초과합니다.

regex와 posh를 사용해서 어떻게 해야 합니까?

빠르고 더러운 것들:

$found = $string -match '.*spid="(\d+)".*'
if ($found) {
    $spid = $matches[1]
}

어디에$string위에 언급한 문자열입니다.이것은 spid="some number here"를 가진 문자열과 일치하며, 이 숫자를 일치된 그룹으로 만들 수 있으며, 이 그룹을 사용하여 추출할 수 있습니다.$matches[1].

그 정도는 빼고, 예를 들어요.$string.

그럼.

$string -match 'spid="(\d+)"'

일치하는 값이 있는 경우 원하는 값을 입력합니다.$matches[1]

언급URL : https://stackoverflow.com/questions/7409133/extracting-specific-data-from-a-string-with-regex-and-powershell

반응형