微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

GREP 查找没有结束撇号的字符序列

如何解决GREP 查找没有结束撇号的字符序列

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

~[.{230}(?!.~])

我需要的是让 GREP 找到以左/左引号开头的任何 230 个字符,不包括任何 230 个字符的序列,包括一个字符后跟右/左引号的字符。这应该从搜索中消除少于 230 个字符的引号。我的 GREP 找到了正确的长度序列,但不排除那些包含正确引号的序列。

所以我想找到这个,这是我的 GREP 所做的:

enter image description here

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

enter image description here

因为它有一个结束语,因此我将其归类为短引号。

有什么想法吗? TIA

解决方法

您可以匹配开头 后跟 230 次或更多出现的任何字符,但开头或结尾引号除外。

要不匹配右引号,您可以使用正向前瞻来断言它。

‘[^‘’]{230,}(?=’)
  • 匹配
  • [^‘’]{230,} 使用 negated character class
  • 重复除 之外的任何字符 230 次以上
  • (?=’) 正向预测,直接向右断言

看到一个 regex demo

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。