2014-10-16 3 views
0

InDesign에서 [\l]{4}(?=\s)은 단어의 마지막 네 글자를 찾지 만 GREP는 작동하지 않기를 바랬습니다. 접미사로 페이지의 헤더에 넣고 싶었습니다. \b$으로 마법을 쓰고 있었는데 아무 효과가 없었습니다. http://regex101.com/r/uQ7xR3/1은 PHP의 풍미가 있기 때문에 InDesign에서는 작동하지 않습니다.GREP 마지막 {4} 단어 끝 글자

몇 가지 추가 조건이 있기 때문에. 다섯 번째 편지가 h 인 경우 4 대신에 각 단어의 마지막 글자를 5 개 가져와야합니다. 그러나 \s으로 구분되는 항목을 취하지 않으며 | ā |과 같은 ... 또는 그 밖의 내용을 | 안에 넣지 않습니다.

virūpacakṣus dharmacakṣus nayacakṣus sūryacakṣus divyacakṣus saṃgrah āsaṃgrah upasaṃgrah pratisaṃgrah abhisaṃgrah anusaṃgrah

업데이트. 더 많은 제한 사항을 추가하겠습니다. "h"뿐만 아니라이 조합이 kh|gh|ch|jh|ṭh|ḍh|th|dh|ph|bh 인 경우 마지막 4 자, 마지막 5자를 사용하지 마십시오. ai | au와 동일합니다 - 분할해서는 안됩니다.

일반 경우 : 1) vṛddhāpacāyitva에서 itva을 가져옵니다. 두 가지 제외 사항 : 2) 이 (가) hāli 대신 nakhāli ~ khāli을 취합니다. 왜냐하면 kh은 devanagari 스크립트의 단일 문자처럼 처리되기 때문입니다. kh|gh|ch|jh|ṭh|ḍh|th|dh|ph|bh과 동일합니다. kh은 devanagari 스크립트의 단일 문자처럼 처리되기 때문에 에서 ikha 대신 rikha을 가져옵니다. kh|gh|ch|jh|ṭh|ḍh|th|dh|ph|bh과 동일합니다. 3) au은 devanagari 스크립트의 단일 문자처럼 취급되기 때문에 rauḍ 대신 mahahrauḍ에서 hrauḍ을 취하십시오. 따라서 ai | au는 단일 문자와 같습니다. ekaikaivat에서 ivat 대신 aivat을 사용하십시오. ai은 devanagari 스크립트의 단일 문자처럼 처리되므로 ai | au는 단일 문자와 같습니다.

+1

보여줄 수 있습니까? – Bohemian

+0

업데이트 됨, 조건 및 추가 된 샘플을 수정 함. – gasyoun

답변

0

아마 시도 : 귀하의 추가 자격에 대한

[[:alpha:]]{4}h?\b 

, 당신이 시도 할 수 있습니다 :

(?:ai|au|kh|gh|ch|jh|ṭh|ḍh|th|dh|ph|bh|[[:alpha:]]){4}h?\b 

다시 이전과 같이, 당신은 토큰이이다 무엇 이건 문자의 POSIX 클래스를 교체해야합니다 InDesign에서의 해당 항목

+0

감사합니다. http://rubular.com/r/IL3hvsdDzf에서 작동하지만 InDesign에서 실패합니다. 다른 GREP 여야합니다. http://regexpal.com/ 및 http://www.online-utility.org/text/grep.jsp 및 http://www.regexr.com/39ogg에서 잘 작동하지 않습니다. – gasyoun

+1

잘 모름 InDesign 온라인 테스터 지금까지 온라인 테스터에 관해서는 언급 한 바와 같이 다른 맛을 위해 설계 되었기 때문에 정규 표현식이 적절한 번역 없이도 작동 할 것이라고 기대하는 이유는 무엇입니까? Regexpal은 javascript 용입니다. 마지막 링크는 확실하지 않지만 [[: alpha :]] 토큰과 앵커에 대한 적절한 번역을하면 쉽게 작동 할 수 있습니다. InDesign의 풍미를 위해 같은 번역을하면 효과가 있습니다. 먼저 [/ : alpha :]] 대신/S를 시도하십시오. 그래도 작동하지 않으면 프로세스에 뭔가 다른 문제가 있습니다. –

1

"작동하지 않는다"는 내용과 그 이유에주의하십시오. 귀하의 초기 GREP [\l]{4}(?=\s)은 이 불필요하지만 InDesign에서 작동합니다 ().

마찬가지로 링크 된 \w\w\w\w$도 작동하며 "php flavor"와는 아무런 관련이 없습니다. 마지막 사건 만 강조 표시되는 이유는 (1) $이 이야기 끝으로 연결되고 m 멀티 라인 플래그를 추가하면 개별 라인에서 작동하게되고 (2) m으로 시작하면 첫 번째 인스턴스 만 (기본값) 강조 표시되어 있고 모두 얻으려면 g이 필요하지만 가장 중요한 것은 일반 GREP 파서의 (3) \w은 유니 코드 인식이 아니어야하며이 경우에는 \w이 선택되지 않기 때문이 아니라는 것을 알 수 있습니다 입니다.InDesign의 GREP는 다른 쪽에서 유니 코드를 인식합니다.

다음 표현식은 사용자가 제공 한 특정 예제에서 작동합니다. 다른 "단일 문자"조합도 비슷한 방법으로 추가 될 수 있습니다.

(au|ai|kh|\l){4}h?\b 

는 샘플 단어에 적용 : 당신은 당신이/캡처를 일치 시키려면 어떤 주어진 예제

grep with complications