,데이터
내가 텍스트 블록에서 뱉어 할 텍스트를 구문 분석하는 정규 표현식을 공식화 도움이 필요합니다. 그러나 정규 표현식이 대부분 아래 부분을 차지하지는 않습니다. [섹션 건너 뛰기] 또는 너무 많이 [다음 섹션의 일부 읽기]입니다. 기본적으로 은행 명세서에서 추출한 텍스트를 읽어야합니다. 이미 시도했습니다. 정규 표현식을 더 읽는다면, 그러나 나는 아직도 무엇을 해야할지에 대한 단서가 없다.
당신이 내가하려는 일을 이해할 수있는 샘플을 소개합니다.
_4XXXXXXXXXXXXXX9_
_SOU THE HOME DEPOT 431 POMPANO BEACH * FL
AUT 020112 DDA PURCHASE_
_2/1_DEBIT POS_3.15_
밑줄은 기본적으로 추출하려는 부분입니다. 기본적으로 DEBIT POS를 제외한 모든 것.
그리고 내가 사용 정규식은 다음과 같습니다
\A
(?<SerialNumber>\b[0-9]{13,16}\b)
(?<Description>.) 'PROBLEM HERE'
(?<PostingDate>
(?:1[0-2]|[1-9])/(?:3[01]|[12][0-9]|[1-9]))
(?<Amount>[,0-9]+\.[0-9]{2})
\Z
나는 텍스트 부분이 될 것이라고 최대 길이를 알 수 없기 때문에 문자의 길이에서 될 수있는 설명을 설정 캔트. 나 또한 설명을위한 2 줄 또는 단지 1인지 모르겠다. 그게 내가 주로 혼란 스러워요.
정규식을 사용하는 이유는 첫 번째 줄이 차변 거래인지 또는 수표인지 아닌지를 알아야하기 때문입니다. 그들은 라인 길이에 따라 다르며 [PDF에서 추출하여 모든 쓰레기를 제거해야합니다.] 모든 거래에 DEBIT POS가 있다고 말할 수는 없습니다. + 4XXXXXXXXXXXXXXX3 + SHELL OIL 57529380602 COCONUT CREEK * FL + AUT 021012 VISA DDA PUR + 2/10DEBIT 카드 PURCHASE35.05 또는 오른쪽 직불 거래 후 교환 및 일상 균형이 포함되어 있습니다. –
그런 다음 두 개의 객체 (또는 필요한만큼)를 설정하는 것이 어렵지 않을 것입니다. 형식을 감지하기 위해 첫 번째 행에서 정규 표현식을 실행 한 다음 해당 객체의 끝에 읽을 때까지 해당 객체에 맞는 코드를 실행하십시오. 그 물체. –