首页 > 解决方案 > 是否可以在正则表达式中选择正则表达式规则的逆

问题描述

我的朋友带着一个他觉得不可能的挑战来找我,但我决心找到一个解决方案,他有字符串“AWUBBWUBC”并且想要选择除“WUB”之外的所有内容。我知道使用\Q...\E文字我可以选择“WUB”,但我将如何选择除此之外的所有内容?

标签: regex

解决方案


如果您的引擎的风格支持\K,您可以从匹配开始WUB,然后使用\K忘记匹配直到该点,然后匹配 WUB 的第一个 W 或字符串末尾的任何内容:

(?:WUB\K)?.*?(?=WUB|$)

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

另一个选项(*SKIP)(*FAIL)

WUB(*SKIP)(*FAIL)|.+?(?=WUB|$)

推荐阅读