2011-09-29 6 views
0

큰 도움 파일에 구분 기호를 추가하는 중입니다. 덕분에 도움이되었습니다. 거의 다 왔어. 나는 내가 추가 할 수 있도록 SO 회원으로부터받은 정규식을 가지고있다. "|" 저자와 해 사이. 나는 "|"을 추가해야한다는 것을 안다. 기사와 출판물 사이. 필자가 생각하는 규칙은 "|" 게시 이름의 ":"앞에 오는 마지막 마침표 (점) 이후. 나는 긍정적 인 모습을 앞두고 편집하려고 시도했지만 작동하지 않는 것 같습니다. 나는 항상 이것에 대한 귀하의 의견을 고맙게 생각합니다. 미리 감사드립니다.더 많은 정규식 조정 조언이 필요합니다.

사실 나는 아마 3 "|" 규칙. 가장 중요한 것은 ":"앞에 오는 마지막 마침표와 일치하는 것입니다. 그것이 맞을까요? 그럼에도 불구하고 내 정규식이 작동하지 않는 것 같습니다.

^((?:[^|]+\|){3}.*?\.)(?=\:) 

122| Ryan, T.N. |2002. |Some article name here. Publication name 2: 101-105. 

답변

0

좋아 2 문제 : 당신은 기간과 내다에 대한 콜론 사이에 물건이 있다는 것을 잊고

  • ! :
  • 당신은 기간 전에 욕심이 일치하지 않았다, 그래서 마지막

시도 대신 기간을 일치했다 :

'^((?:[^|]+\|){3}.*\.)(?=[^:]*?\:)' 

차이를 보이지? (?을 제거하고 [^:]*을 추가 함)

+0

이 항목을 시도했지만 "일부 문서는 여기에 있습니다"다음에 점을 찍지 말고 전체 참조를 선택했습니다. 그래도 고마워. – jiraiya

+0

@jiraiya ... 파이썬에서 완전히 작동합니다. 그 물음표를 다시 추가하고 [^ :] *를 유지 하시겠습니까? 또는 ... 파이썬 힌트 힌트를 사용할 시간 :) – Dave

+0

이 작업을 수행 할 수 없습니다. 당신은 어떤 경우에도 gskinner 정규 표현식 사이트를 사용하지 않습니다. 나는 거기에서 그것을 테스트하고 있지만 작동하지 않는다. 도움에 감사드립니다. 이것은 내가 지금까지 가지고있는 것으로 작동하고있는 것처럼 보이지만, 괄호가 텍스트 안에 있으면 그것이 깨집니다.^(? : [^ |] + \ |) {3} (. *?) [^ (?: Co)] \. (? = [^ :] *? \ :) – jiraiya

관련 문제