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
'programing' 카테고리의 다른 글
grep 결과 파일의 첫 N줄을 삭제해야 합니다. (0) | 2023.09.15 |
---|---|
jQuery를 사용하여 div에서 id 속성을 제거하는 방법? (0) | 2023.09.15 |
restTemplate Spring-mvc와 함께 멀티파트 폼 데이터를 전송하는 방법 (0) | 2023.09.15 |
하나의 SELECT 문에 두 개의 스칼라 변수를 설정하시겠습니까? (0) | 2023.09.15 |
PHP 객체 리터럴 (0) | 2023.09.15 |