有没有办法创建一个多角色回顾?

Is there a way of creating a multiple character lookbehind?

我需要一种查找不排除包含撇号 s 的长引号的长引号的方法。这是我的代码:

‘.{250,}(?=[\.’])(?=[,’])(?=[\?’])(?=[!’])

参见this regex demo

有两个长引号(一个带有所有格撇号 s)和一个短引号,它会找到两个长引号。但在 InDesign 中,它只会找到前面带有撇号的任意 250 个字符(它会忽略整点、问号、逗号和感叹号)。我认为这是因为它在积极的后视中只看一个角色。有没有办法让它同时查找两个字符?

您可以使用

‘[^‘]{250,}[.,?!]’

参见regex demo

详情

  • - 一个 字符
  • [^‘]{250,} - 除了 之外的 250 个或更多字符,尽可能多(注意:这会跨行匹配。如果您需要限制仅匹配当前行,在否定字符中添加换行符 class, [^‘\r\n]{250,})
  • [.,?!] - 一个 .,?! char
  • - 一个 字符。