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'