InDesign搜索的GREP代码

时间:2014-09-21 14:44:07

标签: replace adobe-indesign grep-indesign

我有一个GREP命令:

(?<=say).+.".+?"

它找到所有说出(但不包括它)的行,引用它们之间的单词和字符。

它只想对引用的单词(不是中间的字符)进行更改,而是

(?<=say)(?<=.+.)".+?"

这不起作用。

以下是我需要更改的文字示例:

我跟船长说过:&#34;先生,我想回家&#34;。

......说,&#34;这就是&#34;。

GREP命令应将其改为:

我跟船长说话了,先生,我想回家#34; ......说,&#34;这就是&#34;

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:3)

我认为你不能拥有可变长度的后视;这在大多数版本的REGEX中都是不可能的,我敢打赌这就是ID的情况。你可以做两个Greps,一个用于将样式应用于'say'之后的所有内容,另一个用于将它从say和引号之间的文本中删除(这当然假设其间没有其他渲染)。或者您可以使用初始正则表达式插入一些您可以搜索的字符,并将其用作应用斜体的基础。或者,你可以编写脚本。

此页面讨论了lookbehind的限制:http://www.regular-expressions.info/lookaround.html

使用正向lookbehind和lookahead查找“say”和引号之间的内容的示例:

(?<=say).+?(?=")