我刚刚浏览了Atomic Grouping和rubyinfo的文档,我想到了一些简单的问题,如下所示:
我尝试了下面的代码来理解,但是对输出的混淆以及它们在同一个字符串上的工作方式有多么不同?
irb(main):001:0> /a(?>bc|b)c/ =~ "abbcdabcc"
=> 5
irb(main):004:0> $~
=> #<MatchData "abcc">
irb(main):005:0> /a(bc|b)c/ =~ "abcdabcc"
=> 0
irb(main):006:0> $~
=> #<MatchData "abc" 1:"b">
Run Code Online (Sandbox Code Playgroud)