在InDesign中,我希望[\l]{4}(?=\s)
能找到最后四个字母,但GREP不起作用。我想把它作为后缀放在页眉的标题中。用\b
和$
做魔法,没有任何效果。并且http://regex101.com/r/uQ7xR3/1在InDesign中不起作用,因为它具有php风格。
因为有几个附加条件。如果第5个字母是h
,那么我们应该取每个单词的5个最后一个字母而不是4个字母。但我们不会将任何内容分隔为\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)从nakhāli
取khāli
而不是hāli
,因为kh
被视为梵文脚本中的单个字母。与kh|gh|ch|jh|ṭh|ḍh|th|dh|ph|bh
完全相同。
从mirikha
取rikha
而不是ikha
,因为kh
被视为梵文脚本中的单个字母。与kh|gh|ch|jh|ṭh|ḍh|th|dh|ph|bh
完全相同。
3)从mahahrauḍ
取hrauḍ
而不是rauḍ
,因为au
被视为梵文脚本中的单个字母,所以ai | au就像一个字母。
从ekaikaivat
取aivat
而不是ivat
,因为ai
被视为梵文脚本中的单个字母,所以ai | au就像一个字母。
答案 0 :(得分:1)
小心说明"它不起作用"及其背后的推理。您的初始GREP [\l]{4}(?=\s)
在InDesign中工作(尽管[..]
是多余的。)
类似地,链接的\w\w\w\w$
也有效,它与" php flavor"无关。仅突出显示最后一次出现的原因是因为(1)$
仅链接到故事结束,并添加m
多行标志使其适用于各个行,(2)使用m
只会突出显示第一个实例(默认值),并且您需要g
来获取所有实例,但最重要的是,(3)\w
在一般GREP解析器中可能不是支持Unicode,在这种情况下,您可以看到它不是因为\w
没有选择ṃ
和ṣ
。另一方面,InDesign的GREP 支持Unicode。
以下表达式适用于您提供的具体示例;另一个"单个字母"可以以类似的方式添加组合。
(au|ai|kh|\l){4}h?\b
当应用于您的示例单词时:
答案 1 :(得分:0)
也许试试:
[[:alpha:]]{4}h?\b
有关您的其他资格,您可以尝试:
(?:ai|au|kh|gh|ch|jh|ṭh|ḍh|th|dh|ph|bh|[[:alpha:]]){4}h?\b
同样,和以前一样,您需要将字母的posix类替换为InDesign中等效的任何标记