2016-09-27 4 views
-1

에 합류하기 전 260 \에 제출 $의 B \ 260 및 260 \ $ C를 가입해야 $ A정규 표현식 반복 필드

=LDR 00000nam 2200000Ia 45e0 
    =008 010101s9999\\\\xx\\\\\\\\\\\\000\0\und\d 
    =020 \\$a140257586 
    =041 \\$aeng 
    =080 \\$a321.78:2(540)BAS 
    =100 \\$aBasu, Kaushik, eds. 
    =245 \0$aUnravelling the nation 
    =245 \0$bsectarian conflict and India's secular identity 
    =245 \0$cedited by Kaushik Basu and Sanjay Subrahmanyam. 
    =260 \\$aNew Delhi 
    =260 \\$bPenguin 
    =260 \\$c1996 
    =300 \\$a244 p. 
    =300 \\$c19.00 cm. 
+0

게시물을 교정하십시오. '\\\ '를 쓰는 것은 그것이하는 것이라고 생각하는 것을하지 않습니다. "제출"이라고하면 "필드"를 의미합니까? –

답변

0

찾기 신청 : (.. $ \ = 260 ) \ r \ n = 260. \ $ b (. *) \ r \ n = 260. . (*) 브레이크를 아래에서 $ B \ 2, $ C를 \ 3

: : \ 1 \ $으로 C를

함께 바꾸기 첫번째 괄호 (=260.*\$a.*) 첫번째 행 일치 \r\n LINEBREAK *=260.*\$b(.*), 두 번째 행 \r\n 또 다른 linebreak 및 *=260.*\$c(.*) 세 번째 행.

그런 다음 새 행의 MARC에 따라 세 괄호의 일치 항목을 함께 입력합니다.

+0

당신은 OP가이 질문에서 결코 언급하지 않는 몇 가지 사항을 가정합니다. 하지만 RE는 어쨌든 작동하지 않습니다. '\ s \ S] *? = 260 \ s * \\\\\ $ b (. *) [\ s \ S] *? = 가정이 정확하다면 260 \ s * \\\\\ $ c (. *)'이 해결책이 될 수 있습니다. [regex101] (https://regex101.com/r/uA9mL1/1)을 참조하십시오. – ClasG

+0

글쎄 그것은 메모장에서 시도했을 때 작동했습니다. ++ :-) 문제의 파일 형식 인 MARC에 대해 조금 알고있는 것으로, 필자는 필드 260, 서브 필드 a, b 및 c가 항상 그런 것처럼 보입니다. (심지어 안전 할 수도 있습니다 260a는 "장소, 이름 및 발행일, 배포 날짜, 날짜 등이 아닌"출판물, 배급 등의 장소이기 때문에 MARC 파일은 이후에 공식적으로 유효하지 않습니다. 등등. "하지만, 도서관 사서에게 맡겨져 있습니다. –

+0

MARC에서 읽고 있습니다. 대체 패턴이 잘못되어 업데이트된다는 것을 알고 있습니다. –