Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GREP在文本中查找长引号_Grep_Adobe Indesign - Fatal编程技术网

GREP在文本中查找长引号

GREP在文本中查找长引号,grep,adobe-indesign,Grep,Adobe Indesign,我试图在我正在编辑的文本中找到长引号,以便对它们应用不同的样式。我试过这个GREP: ~[.{230}(?!.~]) 我需要的是GREP查找任何前有左引号的230个字符,不包括任何230个字符的序列,包括后跟右引号的字符。这将从搜索中删除少于230个字符的引号。我的GREP找到正确的长度序列,但不排除包含右引号的序列 所以我想找到我的GREP所做的: 但不是这个,我的GREP也发现: 因为它有一个结束引用,所以我把它归类为短引用 有什么想法吗?TIA我花了一段时间才弄明白如何以适合我的目的

我试图在我正在编辑的文本中找到长引号,以便对它们应用不同的样式。我试过这个GREP:

~[.{230}(?!.~])
我需要的是GREP查找任何前有左引号的230个字符,不包括任何230个字符的序列,包括后跟右引号的字符。这将从搜索中删除少于230个字符的引号。我的GREP找到正确的长度序列,但不排除包含右引号的序列

所以我想找到我的GREP所做的:

但不是这个,我的GREP也发现:

因为它有一个结束引用,所以我把它归类为短引用


有什么想法吗?TIA

我花了一段时间才弄明白如何以适合我的目的的方式表达这一点。Wiktor Stribiżew提出了代码:

‘[^‘]{260,}[.,?!]’
查找开头引号,但不要再找到开头引号(以排除多个短引号),后面跟着260个或更多字符(在我的文本中大约有五行,长引号应在这一点上格式化为断开的引号),结尾可以是一个完整的点、逗号、问号或感叹号以及一个结束引号(我加入了标点符号和结束语,而不仅仅是结束语,因为否则它会看到所有格撇号作为结束语)

感谢Wiktor Stribiżew提供的代码

编辑,Neil是正确的这段代码找不到multiparagraph长引号。但我可以运行:

‘[^’]{150,}~b‘

它将找到任何多段图引号(在Regex演示中不起作用,但由于某些原因在InDesign中起作用)。

什么是“左”和“右引号”?您的正则表达式是。左引号是开始引号,右引号是结束引号。InDesign将其称为“单左引号”和“单右引号”。正则表达式有什么问题?右括号是结束负前瞻表达式您的
[
启动一个字符类,并且
在其中。所以最后一个
未配对。请根据我在第一条评论中提供的链接创建一个正则表达式演示。不要使用您的特殊术语。如果您想匹配
~[
子字符串中的230个字符,但如果存在
~]
子字符串,请避免匹配,只需这样说。我仍然不知道您所说的“结束引号”是什么意思。不~[是左括号的GREP,~]是右括号的GREP不,
\[
是要匹配的正则表达式
[
]
将匹配
]
。那么您想要
\[.{230}(?!])
还是
\[^\[\]{230}(?)
?或者需要匹配的模式是什么?