2008-09-23 2 views
1

제목과 해당 제목에 적용되는 데이터가있는 텍스트를 구문 분석하고 있습니다. 각 데이터 필드를 그룹으로 나누고 표제를 해당 그룹에 적용해야합니다. 다음은 예입니다 :그룹의 반복 머리글

(업데이트 : 아래의 텍스트는 더 나은 현재 레이아웃, 그리고 주석을 표시하기 위해 반영하기 위해 업데이트되었습니다.)

 
Heading 1 
Heading 2  Heading 3 
(Group 1) 
data1 data2 
data3 data4 
data5 
(Group 2) 
data1 data2 
data3 data4 
data5 
(Group 3) 
data1 data2 
data3 data4 
data5 
** The headers become different values here *** (this is not part of the data) 
NewHeading 1 
NewHeading 2  NewHeading 3 
(Group 4) 
data1 data2 
data3 data4 
data5 
(Group 5) 
data1 data2 
data3 data4 
data5 
**etc 

이 출력은 다음과 같이해야한다 :

 
(Group 1) Heading1 Heading2 Heading3 data1 data2 data3 data4 data5 
(Group 2) Heading1 Heading2 Heading3 data1 data2 data3 data4 data5 
(Group 3) Heading1 Heading2 Heading3 data1 data2 data3 data4 data5 
(Group 4) NewHeading1 NewHeading2 NewHeading3 data1 data2 data3 data4 data5 
(Group 5) NewHeading1 NewHeading2 NewHeading3 data1 data2 data3 data4 data5 

(그룹 1-5) 표시된 필드는 줄의 레이블 일 뿐이며 반환 된 집합의 일부가 아닙니다. "NewHeading"으로 변경되는 머리글은 머리글 값이 변경되어 그 머리글 값이 그 뒤에 오는 데이터에 적용되어야 함을 나타 내기위한 것입니다.

저는 지난 몇 시간 동안 이것을 읽으면서 약간의 내용을 읽었지만 행운이 없었습니다. 어떤 아이디어? 이것은. NET 정규식 엔진을위한 것입니다.

업데이트 : 주석이 추가되어 헤더가 파일에서 변경 되었음이 확인되었습니다. 나는 또한 약간 연구를했으며 두 패턴을 가짐으로써 거의 쉽게 달성 할 수 있다고 믿습니다. 하나는 헤더 용이고 다른 하나는 데이터 용입니다. 그런 다음 헤더와 데이터 일치 인덱스 (즉, 파일에서 찾을 수있는 위치)를 서로 비교하고 그런 식으로 결합 할 수 있습니다.

답변

2

1) 줄 단위로 반복하십시오. 이것은 정규 표현식을위한 장소가 아닙니다.

2) 정말로 질문을 명확히해야합니다. (그룹 1)과 ** 제목이 여기에서 달라지는 지 여부는 명확하지 않습니다. ** 귀하의 의견의 일부이거나 주석을 달고 있는지 여부입니다.

+0

의견에 감사드립니다. 어떤 낙오자가 좋은 아이디어를 가지고 있는지보기 위해 나는 이것을 두 시간 정도 할애 할 것입니다. 그렇지 않다면, 나는 당신에게 답을 줄 것이다. 당신은 그것을 얻었습니다. – user13810