(BBEdit에서에서) 그렙를 사용하여 ISBN이있는 대시를 삽입 내가 유효한 ISBN이 항상이
isbn = {<ISBN>}
하지만 의 맥락에 표시되는 파일이 종종 일반적으로 그 포맷에 사용되는 대시이 부족하다. 이 대시를 BBEdit에서 grep을 사용하여 삽입하고 싶습니다. 예를 들어 나는
isbn = {0226104036}
isbn = {0-226-10403-6}
로하지만 난 '돈 ISBN 인코딩 지식과 GREP 기술이 필요 숫자의 문자열을 깰 필요가 그렇게하기 위해 대체하고 싶습니다 꽤있다.
나는
isbn = {([0-5]|7|60[0-9]|61[0-7]|8[0-9]|9[1-4]|9[5-8][0-9]|992[7-9]|99[3-8][0-9]|9990[1-9]|999[1-5][1-9]|9996[1-7])([0-9]+)([0-9]|X)}
검색으로까지 얻을 위의 예에서 전용으로 지금까지 저를 얻는다
isbn = {\1-\2-\3}
로 대체하지만 지금까지
isbn = {0-22610403-6}
등의
심지어 일부 경우에는 첫 번째 대시를 잘못된 위치에 넣을 수도 있습니다.
ISBN이 모두 ISBN-10이라고 가정 할 수 있습니다. 또한 내가 BBEdit에서 이것을 수행하고 있음을 주목하십시오.이 BBEdit에는 약간 grep syntax quirks이 있습니다. 여기서 찾은 related solutions은 BBEdit에서 실패하거나이 특정 시나리오에 적용 할 수 없습니다.
현재 정규 표현식을 사용하면 어떻게됩니까? 성공/실패한 결과의 몇 가지 예를 들려 줄 수 있습니까? – octern
@octern : 항상 작동하지만 (1) 첫 번째 패턴 ("그룹")을 올바르게 구문 분석하지 못합니다 (즉, ISBN-10 스펙에 대한 단순한 해석이 첫 번째 패턴의 일부 숫자를 먹을 수 있습니다. (2) 두 번째 패턴을 두 개 ("발행자"와 "제목")로 분할해야합니다. – orome