Ruby正则表达式:负匹配

Ruby正则表达式:负匹配,ruby,regex,Ruby,Regex,我想知道是否有可能对整个单词使用负匹配,这样像[^(.*?)这样的东西将匹配除了之间(包括)的文本之外的所有内容 我曾考虑过使用负前瞻,但我认为这不会起作用,因为我还需要检查开头的 当然,我可以使用正正则表达式,然后从原始文本中减去匹配项,但我正在寻找一个更“优雅”的解决方案 thx的任何帮助环顾四周的整个过程就是它不消耗任何输入。如果要匹配除模式以外的所有内容,则表示要匹配该模式的前缀和后缀。为了匹配后缀,您可能想要消费——并扔掉——您不想要的模式。但是负前瞻不会消耗。String#split

我想知道是否有可能对整个单词使用负匹配,这样像
[^(.*?)
这样的东西将匹配除了
之间(包括)
的文本之外的所有内容

我曾考虑过使用负前瞻,但我认为这不会起作用,因为我还需要检查开头的

当然,我可以使用正正则表达式,然后从原始文本中减去匹配项,但我正在寻找一个更“优雅”的解决方案

thx的任何帮助

环顾四周的整个过程就是它不消耗任何输入。如果要匹配除模式以外的所有内容,则表示要匹配该模式的前缀和后缀。为了匹配后缀,您可能想要消费——并扔掉——您不想要的模式。但是负前瞻不会消耗。

String#split
用作负匹配。它返回与正则表达式不匹配的任何部分的数组

'XXXXXXXX<em>YYYYYYY</em>ZZZZZZZZ'.split(%r|<em>.*?</em>|)
# => ['XXXXXXX', 'ZZZZZZZZ']
相关问题:
'XXXXXXXX<em>YYYYYYY</em>ZZZZZZZZ'.split(%r|<em>.*?</em>|).join
 # => 'XXXXXXXZZZZZZZZ'