繁体   English   中英

正则表达式选择超过 4 个字符的单词,但如果重复则只选择一个实例

[英]Regex select words longer than 4 characters but only one instance if duplicates

我正在尝试使用 GREP 样式在 InDesign 中格式化文本。 目标是在段落中选择超过 4 个字母的单词,但如果该单词在段落中重复,则不应选择比该单词的第一个实例更多的单词。 这是示例文本:

“主右手高举,主右手作大事!” 解决方案应该给出

  • 主右手举起高大伟业

我已经完成了第一部分

[[:word:]]{4,}

但不知道如何处理这些重复项。

订单有要求吗? 如果不是,那么超过 4 个字符的单词后面没有跟同一个单词怎么办? 看:

([[:word:]]{4,})(?!.*\1)

https://regex101.com/r/Ug4dLZ/1

结果:举起高主右手做了很多事

为了更全面,包括断词(即,将“Person”和“Personhood”计为 2 个单独的词):

([[:word:]]{4,})(?!.*\b\1\b)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM