GREP 查找不带结束撇号的字符序列
GREP to find a sequence of characters without a closing apostrophe
我试图在我正在编辑的文本中找到长引号,以便我可以对它们应用不同的样式。我试过这个 GREP:
~[.{230}(?!.~])
我需要的是让 GREP 找到以 left/opening 引号开头的任何 230 个字符,不包括任何 230 个字符的序列,包括一个字符后跟 right/clsoing 引号。这应该会从搜索中消除少于 230 个字符的引号。我的 GREP 找到了正确的长度序列,但不排除那些包含正确引号的序列。
所以我想找到这个,我的 GREP 就是这样做的:
但不是这个,我的 GREP 也找到了:
因为它有一个结束引号,因此我将其归类为短引号。
有什么想法吗? TIA
您可以匹配一个左 ‘
后跟任何字符(左引号或右引号除外)出现 230 次或更多次。
要不匹配右引号,您可以使用正向先行断言它。
‘[^‘’]{230,}(?=’)
‘
匹配 ‘
[^‘’]{230,}
使用 negated character class 将 ‘
或 ’
以外的任何字符重复 230 次以上
(?=’)
正向前瞻,直接向右断言’
看到一个regex demo。
谢谢@Thefourthbird。
所以我需要的是:
‘[^’]{230,}
搜索开头的撇号 ‘ 后跟除结尾的撇号 [^'] 之外的 230 个或更多字符 {230,}
奇怪的是,如果您将 InDesign 的代码用于左 ~[ 和右 ]~ 撇号,它不起作用!
我试图在我正在编辑的文本中找到长引号,以便我可以对它们应用不同的样式。我试过这个 GREP:
~[.{230}(?!.~])
我需要的是让 GREP 找到以 left/opening 引号开头的任何 230 个字符,不包括任何 230 个字符的序列,包括一个字符后跟 right/clsoing 引号。这应该会从搜索中消除少于 230 个字符的引号。我的 GREP 找到了正确的长度序列,但不排除那些包含正确引号的序列。
所以我想找到这个,我的 GREP 就是这样做的:
但不是这个,我的 GREP 也找到了:
因为它有一个结束引号,因此我将其归类为短引号。
有什么想法吗? TIA
您可以匹配一个左 ‘
后跟任何字符(左引号或右引号除外)出现 230 次或更多次。
要不匹配右引号,您可以使用正向先行断言它。
‘[^‘’]{230,}(?=’)
‘
匹配‘
[^‘’]{230,}
使用 negated character class 将 (?=’)
正向前瞻,直接向右断言’
‘
或 ’
以外的任何字符重复 230 次以上
看到一个regex demo。
谢谢@Thefourthbird。
所以我需要的是:
‘[^’]{230,}
搜索开头的撇号 ‘ 后跟除结尾的撇号 [^'] 之外的 230 个或更多字符 {230,}
奇怪的是,如果您将 InDesign 的代码用于左 ~[ 和右 ]~ 撇号,它不起作用!