나는 정규식에 매우 익숙하며 내 머리를 완전히 감쌀 수 없다.문자열에서 쉼표로 구분 된 숫자를 추출하는 방법
두 개의 정규식을 작성하려고합니다. 가능한지 말해 줄 필요가 있습니다. 둘 다 VB.net 구문을 기반으로합니다.
정규식 1 : 나에 대해 테스트하고있어 문자열 - 디스크에 크기 : 25754900936 바이트
그것은 선행 공백의 소수를 가지고 있지만, 텍스트가 항상 동일합니다. 나는 숫자 (25,754,900,936)만을 추출하려고 노력하고있다.
몇 가지 정규식을 시도했지만 한 줄로 모든 것을 가져올 수 없습니다. 쉼표는 나를 망쳐 놓고 여러 경기를 반환합니다 (예를 들어, \ d + \ W +는 4 개의 일치 항목을 쉼표로 구분하여 표시합니다.)
가장 잘한 것은 [0-9/,] *하지만 그것은 나에게 빈 공 일치 25 개와 일치 번호 1 개 (일치시 19)를줍니다. 경기 1에서 일치해야합니다.
Doable? 문자열에서 숫자를 추출 할 수있는 정규식을 보면 정말 도움이 될 것입니다.
정규식 2 :
같은 생각이지만 지금은 여러 줄입니다.
나에 대해 테스트하고있어 문자열 -
0 File(s) 0 bytes
1 File(s) 11,546 bytes
1 File(s) 259,584 bytes
3 File(s) 5,682 bytes
17218 File(s) 25,705,262,230 bytes
은 그 마지막 줄 (25705262230)에 그냥 총 바이트가 필요합니다. 다중 행 검색에서이 작업을 수행 할 수 있습니까? 동일한 거래 - 텍스트는 항상 동일합니다. 첫 번째 정규식 그냥 숫자를 추출하려면
제임스 - 둘 다 실제로 작동했는데 실제로 이것을 .net에서 사용하지 않고 있습니다. 정규식을 수행 할 수있는 타사 앱을 사용하고 있습니다. 불행히도 첫 번째 캡처 인 첫 번째 그룹에서만 작동합니다. 그 자리에 그것을 두 번째 정규식에 어떤 식 으로든? 지금은 첫 번째 그룹의 첫 번째 캡처에서 여전히 바이트라는 단어가 있지만 그렇지 않으면 완벽합니다. – Pat
@Pat 아 걱정이 없습니다. 문자열의 끝 (캡처하지 않으려는 'bytes')이 포함되지 않도록 긍정적 인 미리보기를 추가해야합니다. 위의 두 번째 정규식을 수정했습니다. 그게 작동하는지 알려주세요 - 단순히'regex.Match ([your string])을 사용하여 일치 된 값 ('bytes'제외)을 추출했습니다 .Value' –
Perfect - thanks! – Pat