我有一个 GREP 命令:
(?<=say).+.".+?"
它找到所有有说(但不包括它)、引用的单词和它之间的字符的行。
它只想对引用的单词(而不是中间的字符)进行更改,但是
(?<=say)(?<=.+.)".+?"
这不起作用。
这是我需要更改的文本示例:
我对船长说:“先生,我想回家”。
......说,“这就是方式”。
应该通过 GREP 命令将其更改为:
我对船长说:“先生,我想回家”。
......说,“这就是方式”。
有人可以帮助我吗?
我有一个 GREP 命令:
(?<=say).+.".+?"
它找到所有有说(但不包括它)、引用的单词和它之间的字符的行。
它只想对引用的单词(而不是中间的字符)进行更改,但是
(?<=say)(?<=.+.)".+?"
这不起作用。
这是我需要更改的文本示例:
我对船长说:“先生,我想回家”。
......说,“这就是方式”。
应该通过 GREP 命令将其更改为:
我对船长说:“先生,我想回家”。
......说,“这就是方式”。
有人可以帮助我吗?
我不认为你可以有一个可变长度的后视;这在大多数 REGEX 风格中是不可能的,我敢打赌 ID 就是这种情况。您可能会做两个 Greps,一个将样式应用于 'say' 之后的所有内容,另一个将其从 say 和引号之间的文本中删除(这当然会假设两者之间没有其他渲染)。或者,您可以使用初始正则表达式插入一些字符,然后您可以搜索并用作应用斜体的基础。或者,您可以编写脚本。
这个页面讨论了lookbehind的局限性:http ://www.regular-expressions.info/lookaround.html
使用正向后视和前瞻来查找 'say' 和引号之间的内容的示例:
(?<=say).+?(?=")