[이 글은 이전에 쓰던 블로그에서 작성된 이후 새 블로그로 이전된 글입니다.]
Anime Plugin
플러그인이 인식을 잘 하지 못하는 파일이나, 애니메이션 파일이 아닌데도 인식을 하는 경우가 있다면 댓글로 달아주세요.
1.0
애니메이션 파일의 이름을 바꾸는 전용 플러그인입니다.
패턴 부분에 결과 패턴을 지정할 수 있습니다.
- ?r은 릴명
- ?n은 애니메이션 이름
- ?e는 에피소드 번호(OO화)
- ?x는 추가 정보(완결이나 에피소드 이름 등)
- ?c는 코덱 정보를 나타내는 특수기호입니다.
예를 들어
[한샛-Raws] Steins;Gate – 24 END (D-TVS 1280×720 x264 AAC).mp4에서
- ?r은 [한샛-Raws]
- ?n은 Steins;Gate
- ?e는 24
- ?x는 END
- ?c는 (D-TVS 1280×720 x264 AAC)
위와 같이 치환됩니다.
패턴 부분에 ‘슈타인즈;게이트 ?e화’등과 같이 넣어서 사용합니다.
‘다음 단어 포함’은 목록 내에 여러 종류의 애니메이션이 있을 경우 사용합니다.
같은 폴더 내에 [Zero-Raws] Boku wa Tomodachi ga Sukunai - 02 (TBS 1280x720 x264 AAC).mkv
와 [한샛-Raws] Shakugan no Shana III - 05 (D-MX 1280x720 x264 AAC).mp4
가 동시에 있을 때,
‘?r 나는 친구가 적다 ?e’로 패턴 매칭을 할 경우 각각 [Zero-Raws] 나는 친구가 적다 02.mkv
[한샛-Raws] 나는 친구가 적다 05.mp4
로 파일 이름이 바뀌게 됩니다.
이런 현상을 막기 위해 다음 단어 포함 항목에 ‘Boku’를 넣게 될 경우, Boku가 포함되어 있는 첫 파일의 이름만이 바뀌게 됩니다.
1.1
- 15.5화 등 .5화를 인식할 수 있게 변경되었습니다.
- 라스트 엑자일 -은빛 날개의 팜- 10화 (총집편) 등과 같이 괄호 내에 세 글자 이상이 들어가게 될 경우 인식이 제대로 안 되는 오류가 있었는데, 이 부분이 해결되고 코덱 인식이 괄호 내부 다섯 글자 이상으로 변경되었습니다.
- 기타 인식률이 향상되었습니다.
1.2
- 자막 파일 이름 변경시 에피소드 번호 뒤에 s, ns가 붙어 있는 경우도 처리됩니다.
- 에피소드 번호 대신 OP, ED가 있는 오프닝, 엔딩 파일에 대한 지원이 추가되었습니다.
1.2버전 정규표현식 주석
^ (\[.*\])? [_\s]* (.*?) [_\s]+ (?:[\-#제第E]|Ep)? [_\s]* ((?:\d+(?:\.\d)?|OP|ED)(?=$|[_\s화話s]|ns)) (?:[화話s]|ns)? (.*?(?=$|(?:[_\s]*\([^()]{5,}\)))) [_\s]* (\([^()]{5,}\))? $::xi
^
문자열의 시작
(\[.*\])?
릴명(xxx-Raw) 인식
[_\s]*
공백 제거
(.*?)
애니메이션 이름 인식
[_\s]+
공백 제거
(?:[\-#제第E]|Ep)?
비캡쳐 그룹, 에피소드 번호 앞에 붙어 있는 기타 문자 제거 ( – 01화, #01화, 제01화 등에서 01만 추출)
[_\s]*
공백 제거
((?:\d+(?:\.\d)?|OP|ED)
에피소드 번호 인식
(?=$|[_\s화話s]|ns))
긍정적 예측 그룹 => 코덱 정보가 없는 경우-문자열 끝을 지정하는 $ / 코덱 정보가 있는 경우-공백 또는 ‘화’글자, s, ns로 이어지는지 확인.
다른 글자로 이어지는 경우는 에피소드 번호가 아님. (‘OOO 2기’ 등 애니메이션 이름에 숫자가 들어가는 경우를 배제하기 위한 예측 그룹)
(?:[화話s]|ns)?
비캡처그룹, ‘화’ 글자 및 s, ns 제거 (공백 제거 X)
(.*?(?=$|(?:[_\s]*\([^()]{5,}\))))
기타 정보 인식. (END, 총집편 등)
긍정적 예측 그룹 => 코덱 정보가 없는 경우-문자열 끝을 지정하는 $ / 코덱 정보가 있는 경우-비캡쳐 그룹-공백 이후 코덱 정보(괄호 내부에 다섯 글자 이상 포함)
[_\s]*
공백 제거
(\([^()]{5,}\))?
코덱 정보 인식
$
문자열의 끝