regexp-examples 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +5 -3
- data/coverage/.resultset.json +212 -180
- data/coverage/index.html +497 -305
- data/lib/regexp-examples/parser.rb +19 -6
- data/lib/regexp-examples/version.rb +1 -1
- data/spec/regexp-examples_spec.rb +20 -1
- metadata +2 -2
    
        data/coverage/index.html
    CHANGED
    
    | @@ -14,7 +14,7 @@ | |
| 14 14 | 
             
                  <img src="./assets/0.8.0/loading.gif" alt="loading"/>
         | 
| 15 15 | 
             
                </div>
         | 
| 16 16 | 
             
                <div id="wrapper" style="display:none;">
         | 
| 17 | 
            -
                  <div class="timestamp">Generated <abbr class="timeago" title="2015-01- | 
| 17 | 
            +
                  <div class="timestamp">Generated <abbr class="timeago" title="2015-01-17T16:37:30+00:00">2015-01-17T16:37:30+00:00</abbr></div>
         | 
| 18 18 | 
             
                  <ul class="group_tabs"></ul>
         | 
| 19 19 |  | 
| 20 20 | 
             
                  <div id="content">
         | 
| @@ -25,15 +25,15 @@ | |
| 25 25 | 
             
                 covered at
         | 
| 26 26 | 
             
                 <span class="covered_strength">
         | 
| 27 27 | 
             
                   <span class="green">
         | 
| 28 | 
            -
                      | 
| 28 | 
            +
                     74.89
         | 
| 29 29 | 
             
                   </span>
         | 
| 30 30 | 
             
                </span> hits/line)
         | 
| 31 31 | 
             
              </h2>
         | 
| 32 32 | 
             
              <a name="AllFiles"></a>
         | 
| 33 33 | 
             
              <div>
         | 
| 34 34 | 
             
                <b>10</b> files in total.
         | 
| 35 | 
            -
                <b> | 
| 36 | 
            -
                <span class="green"><b> | 
| 35 | 
            +
                <b>316</b> relevant lines. 
         | 
| 36 | 
            +
                <span class="green"><b>316</b> lines covered</span> and
         | 
| 37 37 | 
             
                <span class="red"><b>0</b> lines missed </span>
         | 
| 38 38 | 
             
              </div>
         | 
| 39 39 | 
             
              <table class="file_list">
         | 
| @@ -51,7 +51,7 @@ | |
| 51 51 | 
             
                <tbody>
         | 
| 52 52 |  | 
| 53 53 | 
             
                  <tr>
         | 
| 54 | 
            -
                    <td class="strong"><a href="# | 
| 54 | 
            +
                    <td class="strong"><a href="#54b5d2a122ff754d8ac3e44ac036a743f275d5cd" class="src_link" title="lib/regexp-examples.rb">lib/regexp-examples.rb</a></td>
         | 
| 55 55 | 
             
                    <td class="green strong">100.0 %</td>
         | 
| 56 56 | 
             
                    <td>2</td>
         | 
| 57 57 | 
             
                    <td>1</td>
         | 
| @@ -61,17 +61,17 @@ | |
| 61 61 | 
             
                  </tr>
         | 
| 62 62 |  | 
| 63 63 | 
             
                  <tr>
         | 
| 64 | 
            -
                    <td class="strong"><a href="# | 
| 64 | 
            +
                    <td class="strong"><a href="#93190cc93d103d3260faf0664b10ff54c6eea083" class="src_link" title="lib/regexp-examples/backreferences.rb">lib/regexp-examples/backreferences.rb</a></td>
         | 
| 65 65 | 
             
                    <td class="green strong">100.0 %</td>
         | 
| 66 66 | 
             
                    <td>21</td>
         | 
| 67 67 | 
             
                    <td>11</td>
         | 
| 68 68 | 
             
                    <td>11</td>
         | 
| 69 69 | 
             
                    <td>0</td>
         | 
| 70 | 
            -
                    <td> | 
| 70 | 
            +
                    <td>48.7</td>
         | 
| 71 71 | 
             
                  </tr>
         | 
| 72 72 |  | 
| 73 73 | 
             
                  <tr>
         | 
| 74 | 
            -
                    <td class="strong"><a href="# | 
| 74 | 
            +
                    <td class="strong"><a href="#63a4d8bce3d583c95db1448751ea1a5d89880a5c" class="src_link" title="lib/regexp-examples/constants.rb">lib/regexp-examples/constants.rb</a></td>
         | 
| 75 75 | 
             
                    <td class="green strong">100.0 %</td>
         | 
| 76 76 | 
             
                    <td>42</td>
         | 
| 77 77 | 
             
                    <td>12</td>
         | 
| @@ -81,7 +81,7 @@ | |
| 81 81 | 
             
                  </tr>
         | 
| 82 82 |  | 
| 83 83 | 
             
                  <tr>
         | 
| 84 | 
            -
                    <td class="strong"><a href="# | 
| 84 | 
            +
                    <td class="strong"><a href="#1bb4101b0e3c014469af0221a5549cd762b969cb" class="src_link" title="lib/regexp-examples/exceptions.rb">lib/regexp-examples/exceptions.rb</a></td>
         | 
| 85 85 | 
             
                    <td class="green strong">100.0 %</td>
         | 
| 86 86 | 
             
                    <td>5</td>
         | 
| 87 87 | 
             
                    <td>4</td>
         | 
| @@ -91,63 +91,63 @@ | |
| 91 91 | 
             
                  </tr>
         | 
| 92 92 |  | 
| 93 93 | 
             
                  <tr>
         | 
| 94 | 
            -
                    <td class="strong"><a href="# | 
| 94 | 
            +
                    <td class="strong"><a href="#a6c87537a3f20f2e6e7fc1c61e4c6c791987b6f8" class="src_link" title="lib/regexp-examples/groups.rb">lib/regexp-examples/groups.rb</a></td>
         | 
| 95 95 | 
             
                    <td class="green strong">100.0 %</td>
         | 
| 96 96 | 
             
                    <td>145</td>
         | 
| 97 97 | 
             
                    <td>77</td>
         | 
| 98 98 | 
             
                    <td>77</td>
         | 
| 99 99 | 
             
                    <td>0</td>
         | 
| 100 | 
            -
                    <td> | 
| 100 | 
            +
                    <td>149.5</td>
         | 
| 101 101 | 
             
                  </tr>
         | 
| 102 102 |  | 
| 103 103 | 
             
                  <tr>
         | 
| 104 | 
            -
                    <td class="strong"><a href="# | 
| 104 | 
            +
                    <td class="strong"><a href="#9ae955cbc95623603c71e3cb5269e0b5572d66bb" class="src_link" title="lib/regexp-examples/helpers.rb">lib/regexp-examples/helpers.rb</a></td>
         | 
| 105 105 | 
             
                    <td class="green strong">100.0 %</td>
         | 
| 106 106 | 
             
                    <td>26</td>
         | 
| 107 107 | 
             
                    <td>10</td>
         | 
| 108 108 | 
             
                    <td>10</td>
         | 
| 109 109 | 
             
                    <td>0</td>
         | 
| 110 | 
            -
                    <td> | 
| 110 | 
            +
                    <td>171.5</td>
         | 
| 111 111 | 
             
                  </tr>
         | 
| 112 112 |  | 
| 113 113 | 
             
                  <tr>
         | 
| 114 | 
            -
                    <td class="strong"><a href="# | 
| 114 | 
            +
                    <td class="strong"><a href="#d0056bbc5aec01e743374a8696b2086c03bae8f0" class="src_link" title="lib/regexp-examples/parser.rb">lib/regexp-examples/parser.rb</a></td>
         | 
| 115 115 | 
             
                    <td class="green strong">100.0 %</td>
         | 
| 116 | 
            -
                    <td> | 
| 117 | 
            -
                    <td> | 
| 118 | 
            -
                    <td> | 
| 116 | 
            +
                    <td>205</td>
         | 
| 117 | 
            +
                    <td>116</td>
         | 
| 118 | 
            +
                    <td>116</td>
         | 
| 119 119 | 
             
                    <td>0</td>
         | 
| 120 | 
            -
                    <td> | 
| 120 | 
            +
                    <td>53.0</td>
         | 
| 121 121 | 
             
                  </tr>
         | 
| 122 122 |  | 
| 123 123 | 
             
                  <tr>
         | 
| 124 | 
            -
                    <td class="strong"><a href="# | 
| 124 | 
            +
                    <td class="strong"><a href="#7f62a530f44ef896b613d357fee92d31ffb7ede8" class="src_link" title="lib/regexp-examples/regexp_extensions.rb">lib/regexp-examples/regexp_extensions.rb</a></td>
         | 
| 125 125 | 
             
                    <td class="green strong">100.0 %</td>
         | 
| 126 126 | 
             
                    <td>14</td>
         | 
| 127 127 | 
             
                    <td>8</td>
         | 
| 128 128 | 
             
                    <td>8</td>
         | 
| 129 129 | 
             
                    <td>0</td>
         | 
| 130 | 
            -
                    <td> | 
| 130 | 
            +
                    <td>43.5</td>
         | 
| 131 131 | 
             
                  </tr>
         | 
| 132 132 |  | 
| 133 133 | 
             
                  <tr>
         | 
| 134 | 
            -
                    <td class="strong"><a href="# | 
| 134 | 
            +
                    <td class="strong"><a href="#0688fc9c3b085e9a6444775c61767c9c5742fb69" class="src_link" title="lib/regexp-examples/repeaters.rb">lib/regexp-examples/repeaters.rb</a></td>
         | 
| 135 135 | 
             
                    <td class="green strong">100.0 %</td>
         | 
| 136 136 | 
             
                    <td>78</td>
         | 
| 137 137 | 
             
                    <td>43</td>
         | 
| 138 138 | 
             
                    <td>43</td>
         | 
| 139 139 | 
             
                    <td>0</td>
         | 
| 140 | 
            -
                    <td> | 
| 140 | 
            +
                    <td>65.6</td>
         | 
| 141 141 | 
             
                  </tr>
         | 
| 142 142 |  | 
| 143 143 | 
             
                  <tr>
         | 
| 144 | 
            -
                    <td class="strong"><a href="# | 
| 144 | 
            +
                    <td class="strong"><a href="#953f94f8f5f8bad7e1fa800f942a74b781f8fa1c" class="src_link" title="spec/regexp-examples_spec.rb">spec/regexp-examples_spec.rb</a></td>
         | 
| 145 145 | 
             
                    <td class="green strong">100.0 %</td>
         | 
| 146 | 
            -
                    <td> | 
| 147 | 
            -
                    <td> | 
| 148 | 
            -
                    <td> | 
| 146 | 
            +
                    <td>155</td>
         | 
| 147 | 
            +
                    <td>34</td>
         | 
| 148 | 
            +
                    <td>34</td>
         | 
| 149 149 | 
             
                    <td>0</td>
         | 
| 150 | 
            -
                    <td>14. | 
| 150 | 
            +
                    <td>14.4</td>
         | 
| 151 151 | 
             
                  </tr>
         | 
| 152 152 |  | 
| 153 153 | 
             
                </tbody>
         | 
| @@ -166,7 +166,7 @@ | |
| 166 166 |  | 
| 167 167 | 
             
                  <div class="source_files">
         | 
| 168 168 |  | 
| 169 | 
            -
                    <div class="source_table" id=" | 
| 169 | 
            +
                    <div class="source_table" id="54b5d2a122ff754d8ac3e44ac036a743f275d5cd">
         | 
| 170 170 | 
             
              <div class="header">
         | 
| 171 171 | 
             
                <h3>lib/regexp-examples.rb</h3>
         | 
| 172 172 | 
             
                <h4><span class="green">100.0 %</span> covered</h4>
         | 
| @@ -196,7 +196,7 @@ | |
| 196 196 | 
             
              </pre>
         | 
| 197 197 | 
             
            </div>
         | 
| 198 198 |  | 
| 199 | 
            -
                    <div class="source_table" id=" | 
| 199 | 
            +
                    <div class="source_table" id="93190cc93d103d3260faf0664b10ff54c6eea083">
         | 
| 200 200 | 
             
              <div class="header">
         | 
| 201 201 | 
             
                <h3>lib/regexp-examples/backreferences.rb</h3>
         | 
| 202 202 | 
             
                <h4><span class="green">100.0 %</span> covered</h4>
         | 
| @@ -228,14 +228,14 @@ | |
| 228 228 | 
             
                      <code class="ruby">    def substitute_backreferences(full_examples)</code>
         | 
| 229 229 | 
             
                    </li>
         | 
| 230 230 |  | 
| 231 | 
            -
                    <li class="covered" data-hits=" | 
| 232 | 
            -
                      <span class="hits"> | 
| 231 | 
            +
                    <li class="covered" data-hits="69" data-linenumber="4">
         | 
| 232 | 
            +
                      <span class="hits">69</span>
         | 
| 233 233 |  | 
| 234 234 | 
             
                      <code class="ruby">      full_examples.map do |full_example|</code>
         | 
| 235 235 | 
             
                    </li>
         | 
| 236 236 |  | 
| 237 | 
            -
                    <li class="covered" data-hits=" | 
| 238 | 
            -
                      <span class="hits"> | 
| 237 | 
            +
                    <li class="covered" data-hits="165" data-linenumber="5">
         | 
| 238 | 
            +
                      <span class="hits">165</span>
         | 
| 239 239 |  | 
| 240 240 | 
             
                      <code class="ruby">        while full_example.match(/__(\w+?)__/)</code>
         | 
| 241 241 | 
             
                    </li>
         | 
| @@ -252,8 +252,8 @@ | |
| 252 252 | 
             
                      <code class="ruby">        end</code>
         | 
| 253 253 | 
             
                    </li>
         | 
| 254 254 |  | 
| 255 | 
            -
                    <li class="covered" data-hits=" | 
| 256 | 
            -
                      <span class="hits"> | 
| 255 | 
            +
                    <li class="covered" data-hits="165" data-linenumber="8">
         | 
| 256 | 
            +
                      <span class="hits">165</span>
         | 
| 257 257 |  | 
| 258 258 | 
             
                      <code class="ruby">        full_example</code>
         | 
| 259 259 | 
             
                    </li>
         | 
| @@ -340,7 +340,7 @@ | |
| 340 340 | 
             
              </pre>
         | 
| 341 341 | 
             
            </div>
         | 
| 342 342 |  | 
| 343 | 
            -
                    <div class="source_table" id=" | 
| 343 | 
            +
                    <div class="source_table" id="63a4d8bce3d583c95db1448751ea1a5d89880a5c">
         | 
| 344 344 | 
             
              <div class="header">
         | 
| 345 345 | 
             
                <h3>lib/regexp-examples/constants.rb</h3>
         | 
| 346 346 | 
             
                <h4><span class="green">100.0 %</span> covered</h4>
         | 
| @@ -610,7 +610,7 @@ | |
| 610 610 | 
             
              </pre>
         | 
| 611 611 | 
             
            </div>
         | 
| 612 612 |  | 
| 613 | 
            -
                    <div class="source_table" id=" | 
| 613 | 
            +
                    <div class="source_table" id="1bb4101b0e3c014469af0221a5549cd762b969cb">
         | 
| 614 614 | 
             
              <div class="header">
         | 
| 615 615 | 
             
                <h3>lib/regexp-examples/exceptions.rb</h3>
         | 
| 616 616 | 
             
                <h4><span class="green">100.0 %</span> covered</h4>
         | 
| @@ -658,7 +658,7 @@ | |
| 658 658 | 
             
              </pre>
         | 
| 659 659 | 
             
            </div>
         | 
| 660 660 |  | 
| 661 | 
            -
                    <div class="source_table" id=" | 
| 661 | 
            +
                    <div class="source_table" id="a6c87537a3f20f2e6e7fc1c61e4c6c791987b6f8">
         | 
| 662 662 | 
             
              <div class="header">
         | 
| 663 663 | 
             
                <h3>lib/regexp-examples/groups.rb</h3>
         | 
| 664 664 | 
             
                <h4><span class="green">100.0 %</span> covered</h4>
         | 
| @@ -714,20 +714,20 @@ | |
| 714 714 | 
             
                      <code class="ruby">    def initialize(result, group_id = nil, subgroups = [])</code>
         | 
| 715 715 | 
             
                    </li>
         | 
| 716 716 |  | 
| 717 | 
            -
                    <li class="covered" data-hits=" | 
| 718 | 
            -
                      <span class="hits"> | 
| 717 | 
            +
                    <li class="covered" data-hits="1677" data-linenumber="8">
         | 
| 718 | 
            +
                      <span class="hits">1677</span>
         | 
| 719 719 |  | 
| 720 720 | 
             
                      <code class="ruby">      @group_id = group_id</code>
         | 
| 721 721 | 
             
                    </li>
         | 
| 722 722 |  | 
| 723 | 
            -
                    <li class="covered" data-hits=" | 
| 724 | 
            -
                      <span class="hits"> | 
| 723 | 
            +
                    <li class="covered" data-hits="1677" data-linenumber="9">
         | 
| 724 | 
            +
                      <span class="hits">1677</span>
         | 
| 725 725 |  | 
| 726 726 | 
             
                      <code class="ruby">      @subgroups = subgroups</code>
         | 
| 727 727 | 
             
                    </li>
         | 
| 728 728 |  | 
| 729 | 
            -
                    <li class="covered" data-hits=" | 
| 730 | 
            -
                      <span class="hits"> | 
| 729 | 
            +
                    <li class="covered" data-hits="1677" data-linenumber="10">
         | 
| 730 | 
            +
                      <span class="hits">1677</span>
         | 
| 731 731 |  | 
| 732 732 | 
             
                      <code class="ruby">      if result.respond_to?(:group_id)</code>
         | 
| 733 733 | 
             
                    </li>
         | 
| @@ -744,8 +744,8 @@ | |
| 744 744 | 
             
                      <code class="ruby">      end</code>
         | 
| 745 745 | 
             
                    </li>
         | 
| 746 746 |  | 
| 747 | 
            -
                    <li class="covered" data-hits=" | 
| 748 | 
            -
                      <span class="hits"> | 
| 747 | 
            +
                    <li class="covered" data-hits="1677" data-linenumber="13">
         | 
| 748 | 
            +
                      <span class="hits">1677</span>
         | 
| 749 749 |  | 
| 750 750 | 
             
                      <code class="ruby">      super(result)</code>
         | 
| 751 751 | 
             
                    </li>
         | 
| @@ -768,8 +768,8 @@ | |
| 768 768 | 
             
                      <code class="ruby">    def all_subgroups</code>
         | 
| 769 769 | 
             
                    </li>
         | 
| 770 770 |  | 
| 771 | 
            -
                    <li class="covered" data-hits=" | 
| 772 | 
            -
                      <span class="hits"> | 
| 771 | 
            +
                    <li class="covered" data-hits="1683" data-linenumber="17">
         | 
| 772 | 
            +
                      <span class="hits">1683</span>
         | 
| 773 773 |  | 
| 774 774 | 
             
                      <code class="ruby">      [self, subgroups].flatten.reject { |subgroup| subgroup.group_id.nil? }</code>
         | 
| 775 775 | 
             
                    </li>
         | 
| @@ -804,8 +804,8 @@ | |
| 804 804 | 
             
                      <code class="ruby">    def *(int)</code>
         | 
| 805 805 | 
             
                    </li>
         | 
| 806 806 |  | 
| 807 | 
            -
                    <li class="covered" data-hits=" | 
| 808 | 
            -
                      <span class="hits"> | 
| 807 | 
            +
                    <li class="covered" data-hits="434" data-linenumber="23">
         | 
| 808 | 
            +
                      <span class="hits">434</span>
         | 
| 809 809 |  | 
| 810 810 | 
             
                      <code class="ruby">      self.class.new(super.to_s, group_id, subgroups)</code>
         | 
| 811 811 | 
             
                    </li>
         | 
| @@ -840,8 +840,8 @@ | |
| 840 840 | 
             
                      <code class="ruby">    def initialize(char)</code>
         | 
| 841 841 | 
             
                    </li>
         | 
| 842 842 |  | 
| 843 | 
            -
                    <li class="covered" data-hits=" | 
| 844 | 
            -
                      <span class="hits"> | 
| 843 | 
            +
                    <li class="covered" data-hits="194" data-linenumber="29">
         | 
| 844 | 
            +
                      <span class="hits">194</span>
         | 
| 845 845 |  | 
| 846 846 | 
             
                      <code class="ruby">      @char = char</code>
         | 
| 847 847 | 
             
                    </li>
         | 
| @@ -858,8 +858,8 @@ | |
| 858 858 | 
             
                      <code class="ruby">    def result</code>
         | 
| 859 859 | 
             
                    </li>
         | 
| 860 860 |  | 
| 861 | 
            -
                    <li class="covered" data-hits=" | 
| 862 | 
            -
                      <span class="hits"> | 
| 861 | 
            +
                    <li class="covered" data-hits="194" data-linenumber="32">
         | 
| 862 | 
            +
                      <span class="hits">194</span>
         | 
| 863 863 |  | 
| 864 864 | 
             
                      <code class="ruby">      [GroupResult.new(@char)]</code>
         | 
| 865 865 | 
             
                    </li>
         | 
| @@ -1546,7 +1546,7 @@ | |
| 1546 1546 | 
             
              </pre>
         | 
| 1547 1547 | 
             
            </div>
         | 
| 1548 1548 |  | 
| 1549 | 
            -
                    <div class="source_table" id=" | 
| 1549 | 
            +
                    <div class="source_table" id="9ae955cbc95623603c71e3cb5269e0b5572d66bb">
         | 
| 1550 1550 | 
             
              <div class="header">
         | 
| 1551 1551 | 
             
                <h3>lib/regexp-examples/helpers.rb</h3>
         | 
| 1552 1552 | 
             
                <h4><span class="green">100.0 %</span> covered</h4>
         | 
| @@ -1620,26 +1620,26 @@ | |
| 1620 1620 | 
             
                      <code class="ruby">  def self.permutations_of_strings(arrays_of_strings, options={})</code>
         | 
| 1621 1621 | 
             
                    </li>
         | 
| 1622 1622 |  | 
| 1623 | 
            -
                    <li class="covered" data-hits=" | 
| 1624 | 
            -
                      <span class="hits"> | 
| 1623 | 
            +
                    <li class="covered" data-hits="290" data-linenumber="11">
         | 
| 1624 | 
            +
                      <span class="hits">290</span>
         | 
| 1625 1625 |  | 
| 1626 1626 | 
             
                      <code class="ruby">    first = arrays_of_strings.shift</code>
         | 
| 1627 1627 | 
             
                    </li>
         | 
| 1628 1628 |  | 
| 1629 | 
            -
                    <li class="covered" data-hits=" | 
| 1630 | 
            -
                      <span class="hits"> | 
| 1629 | 
            +
                    <li class="covered" data-hits="290" data-linenumber="12">
         | 
| 1630 | 
            +
                      <span class="hits">290</span>
         | 
| 1631 1631 |  | 
| 1632 1632 | 
             
                      <code class="ruby">    return first if arrays_of_strings.empty?</code>
         | 
| 1633 1633 | 
             
                    </li>
         | 
| 1634 1634 |  | 
| 1635 | 
            -
                    <li class="covered" data-hits=" | 
| 1636 | 
            -
                      <span class="hits"> | 
| 1635 | 
            +
                    <li class="covered" data-hits="168" data-linenumber="13">
         | 
| 1636 | 
            +
                      <span class="hits">168</span>
         | 
| 1637 1637 |  | 
| 1638 1638 | 
             
                      <code class="ruby">    first.product( permutations_of_strings(arrays_of_strings, options) ).map do |result|</code>
         | 
| 1639 1639 | 
             
                    </li>
         | 
| 1640 1640 |  | 
| 1641 | 
            -
                    <li class="covered" data-hits=" | 
| 1642 | 
            -
                      <span class="hits"> | 
| 1641 | 
            +
                    <li class="covered" data-hits="241" data-linenumber="14">
         | 
| 1642 | 
            +
                      <span class="hits">241</span>
         | 
| 1643 1643 |  | 
| 1644 1644 | 
             
                      <code class="ruby">      join_preserving_capture_groups(result)</code>
         | 
| 1645 1645 | 
             
                    </li>
         | 
| @@ -1668,14 +1668,14 @@ | |
| 1668 1668 | 
             
                      <code class="ruby">  def self.join_preserving_capture_groups(result)</code>
         | 
| 1669 1669 | 
             
                    </li>
         | 
| 1670 1670 |  | 
| 1671 | 
            -
                    <li class="covered" data-hits=" | 
| 1672 | 
            -
                      <span class="hits"> | 
| 1671 | 
            +
                    <li class="covered" data-hits="241" data-linenumber="19">
         | 
| 1672 | 
            +
                      <span class="hits">241</span>
         | 
| 1673 1673 |  | 
| 1674 1674 | 
             
                      <code class="ruby">    result.flatten!</code>
         | 
| 1675 1675 | 
             
                    </li>
         | 
| 1676 1676 |  | 
| 1677 | 
            -
                    <li class="covered" data-hits=" | 
| 1678 | 
            -
                      <span class="hits"> | 
| 1677 | 
            +
                    <li class="covered" data-hits="241" data-linenumber="20">
         | 
| 1678 | 
            +
                      <span class="hits">241</span>
         | 
| 1679 1679 |  | 
| 1680 1680 | 
             
                      <code class="ruby">    subgroups = result</code>
         | 
| 1681 1681 | 
             
                    </li>
         | 
| @@ -1692,8 +1692,8 @@ | |
| 1692 1692 | 
             
                      <code class="ruby">      .flatten</code>
         | 
| 1693 1693 | 
             
                    </li>
         | 
| 1694 1694 |  | 
| 1695 | 
            -
                    <li class="covered" data-hits=" | 
| 1696 | 
            -
                      <span class="hits"> | 
| 1695 | 
            +
                    <li class="covered" data-hits="241" data-linenumber="23">
         | 
| 1696 | 
            +
                      <span class="hits">241</span>
         | 
| 1697 1697 |  | 
| 1698 1698 | 
             
                      <code class="ruby">    GroupResult.new(result.join, nil, subgroups)</code>
         | 
| 1699 1699 | 
             
                    </li>
         | 
| @@ -1720,13 +1720,13 @@ | |
| 1720 1720 | 
             
              </pre>
         | 
| 1721 1721 | 
             
            </div>
         | 
| 1722 1722 |  | 
| 1723 | 
            -
                    <div class="source_table" id=" | 
| 1723 | 
            +
                    <div class="source_table" id="d0056bbc5aec01e743374a8696b2086c03bae8f0">
         | 
| 1724 1724 | 
             
              <div class="header">
         | 
| 1725 1725 | 
             
                <h3>lib/regexp-examples/parser.rb</h3>
         | 
| 1726 1726 | 
             
                <h4><span class="green">100.0 %</span> covered</h4>
         | 
| 1727 1727 | 
             
                <div>
         | 
| 1728 | 
            -
                  <b> | 
| 1729 | 
            -
                  <span class="green"><b> | 
| 1728 | 
            +
                  <b>116</b> relevant lines. 
         | 
| 1729 | 
            +
                  <span class="green"><b>116</b> lines covered</span> and
         | 
| 1730 1730 | 
             
                  <span class="red"><b>0</b> lines missed.</span>
         | 
| 1731 1731 | 
             
                </div>
         | 
| 1732 1732 | 
             
              </div>
         | 
| @@ -1758,20 +1758,20 @@ | |
| 1758 1758 | 
             
                      <code class="ruby">    def initialize(regexp_string)</code>
         | 
| 1759 1759 | 
             
                    </li>
         | 
| 1760 1760 |  | 
| 1761 | 
            -
                    <li class="covered" data-hits=" | 
| 1762 | 
            -
                      <span class="hits"> | 
| 1761 | 
            +
                    <li class="covered" data-hits="73" data-linenumber="5">
         | 
| 1762 | 
            +
                      <span class="hits">73</span>
         | 
| 1763 1763 |  | 
| 1764 1764 | 
             
                      <code class="ruby">      @regexp_string = regexp_string</code>
         | 
| 1765 1765 | 
             
                    </li>
         | 
| 1766 1766 |  | 
| 1767 | 
            -
                    <li class="covered" data-hits=" | 
| 1768 | 
            -
                      <span class="hits"> | 
| 1767 | 
            +
                    <li class="covered" data-hits="73" data-linenumber="6">
         | 
| 1768 | 
            +
                      <span class="hits">73</span>
         | 
| 1769 1769 |  | 
| 1770 1770 | 
             
                      <code class="ruby">      @num_groups = 0</code>
         | 
| 1771 1771 | 
             
                    </li>
         | 
| 1772 1772 |  | 
| 1773 | 
            -
                    <li class="covered" data-hits=" | 
| 1774 | 
            -
                      <span class="hits"> | 
| 1773 | 
            +
                    <li class="covered" data-hits="73" data-linenumber="7">
         | 
| 1774 | 
            +
                      <span class="hits">73</span>
         | 
| 1775 1775 |  | 
| 1776 1776 | 
             
                      <code class="ruby">      @current_position = 0</code>
         | 
| 1777 1777 | 
             
                    </li>
         | 
| @@ -1794,44 +1794,44 @@ | |
| 1794 1794 | 
             
                      <code class="ruby">    def parse</code>
         | 
| 1795 1795 | 
             
                    </li>
         | 
| 1796 1796 |  | 
| 1797 | 
            -
                    <li class="covered" data-hits=" | 
| 1798 | 
            -
                      <span class="hits"> | 
| 1797 | 
            +
                    <li class="covered" data-hits="120" data-linenumber="11">
         | 
| 1798 | 
            +
                      <span class="hits">120</span>
         | 
| 1799 1799 |  | 
| 1800 1800 | 
             
                      <code class="ruby">      repeaters = []</code>
         | 
| 1801 1801 | 
             
                    </li>
         | 
| 1802 1802 |  | 
| 1803 | 
            -
                    <li class="covered" data-hits=" | 
| 1804 | 
            -
                      <span class="hits"> | 
| 1803 | 
            +
                    <li class="covered" data-hits="120" data-linenumber="12">
         | 
| 1804 | 
            +
                      <span class="hits">120</span>
         | 
| 1805 1805 |  | 
| 1806 1806 | 
             
                      <code class="ruby">      while @current_position < regexp_string.length</code>
         | 
| 1807 1807 | 
             
                    </li>
         | 
| 1808 1808 |  | 
| 1809 | 
            -
                    <li class="covered" data-hits=" | 
| 1810 | 
            -
                      <span class="hits"> | 
| 1809 | 
            +
                    <li class="covered" data-hits="335" data-linenumber="13">
         | 
| 1810 | 
            +
                      <span class="hits">335</span>
         | 
| 1811 1811 |  | 
| 1812 1812 | 
             
                      <code class="ruby">        group = parse_group(repeaters)</code>
         | 
| 1813 1813 | 
             
                    </li>
         | 
| 1814 1814 |  | 
| 1815 | 
            -
                    <li class="covered" data-hits=" | 
| 1816 | 
            -
                      <span class="hits"> | 
| 1815 | 
            +
                    <li class="covered" data-hits="331" data-linenumber="14">
         | 
| 1816 | 
            +
                      <span class="hits">331</span>
         | 
| 1817 1817 |  | 
| 1818 1818 | 
             
                      <code class="ruby">        break if group.is_a? MultiGroupEnd</code>
         | 
| 1819 1819 | 
             
                    </li>
         | 
| 1820 1820 |  | 
| 1821 | 
            -
                    <li class="covered" data-hits=" | 
| 1822 | 
            -
                      <span class="hits"> | 
| 1821 | 
            +
                    <li class="covered" data-hits="290" data-linenumber="15">
         | 
| 1822 | 
            +
                      <span class="hits">290</span>
         | 
| 1823 1823 |  | 
| 1824 1824 | 
             
                      <code class="ruby">        repeaters = [] if group.is_a? OrGroup</code>
         | 
| 1825 1825 | 
             
                    </li>
         | 
| 1826 1826 |  | 
| 1827 | 
            -
                    <li class="covered" data-hits=" | 
| 1828 | 
            -
                      <span class="hits"> | 
| 1827 | 
            +
                    <li class="covered" data-hits="290" data-linenumber="16">
         | 
| 1828 | 
            +
                      <span class="hits">290</span>
         | 
| 1829 1829 |  | 
| 1830 1830 | 
             
                      <code class="ruby">        @current_position += 1</code>
         | 
| 1831 1831 | 
             
                    </li>
         | 
| 1832 1832 |  | 
| 1833 | 
            -
                    <li class="covered" data-hits=" | 
| 1834 | 
            -
                      <span class="hits"> | 
| 1833 | 
            +
                    <li class="covered" data-hits="290" data-linenumber="17">
         | 
| 1834 | 
            +
                      <span class="hits">290</span>
         | 
| 1835 1835 |  | 
| 1836 1836 | 
             
                      <code class="ruby">        repeaters << parse_repeater(group)</code>
         | 
| 1837 1837 | 
             
                    </li>
         | 
| @@ -1842,8 +1842,8 @@ | |
| 1842 1842 | 
             
                      <code class="ruby">      end</code>
         | 
| 1843 1843 | 
             
                    </li>
         | 
| 1844 1844 |  | 
| 1845 | 
            -
                    <li class="covered" data-hits=" | 
| 1846 | 
            -
                      <span class="hits"> | 
| 1845 | 
            +
                    <li class="covered" data-hits="116" data-linenumber="19">
         | 
| 1846 | 
            +
                      <span class="hits">116</span>
         | 
| 1847 1847 |  | 
| 1848 1848 | 
             
                      <code class="ruby">      repeaters</code>
         | 
| 1849 1849 | 
             
                    </li>
         | 
| @@ -1878,14 +1878,14 @@ | |
| 1878 1878 | 
             
                      <code class="ruby">    def parse_group(repeaters)</code>
         | 
| 1879 1879 | 
             
                    </li>
         | 
| 1880 1880 |  | 
| 1881 | 
            -
                    <li class="covered" data-hits=" | 
| 1882 | 
            -
                      <span class="hits"> | 
| 1881 | 
            +
                    <li class="covered" data-hits="335" data-linenumber="25">
         | 
| 1882 | 
            +
                      <span class="hits">335</span>
         | 
| 1883 1883 |  | 
| 1884 1884 | 
             
                      <code class="ruby">      char = regexp_string[@current_position]</code>
         | 
| 1885 1885 | 
             
                    </li>
         | 
| 1886 1886 |  | 
| 1887 | 
            -
                    <li class="covered" data-hits=" | 
| 1888 | 
            -
                      <span class="hits"> | 
| 1887 | 
            +
                    <li class="covered" data-hits="335" data-linenumber="26">
         | 
| 1888 | 
            +
                      <span class="hits">335</span>
         | 
| 1889 1889 |  | 
| 1890 1890 | 
             
                      <code class="ruby">      case char</code>
         | 
| 1891 1891 | 
             
                    </li>
         | 
| @@ -1956,8 +1956,8 @@ | |
| 1956 1956 | 
             
                      <code class="ruby">      when '\\'</code>
         | 
| 1957 1957 | 
             
                    </li>
         | 
| 1958 1958 |  | 
| 1959 | 
            -
                    <li class="covered" data-hits=" | 
| 1960 | 
            -
                      <span class="hits"> | 
| 1959 | 
            +
                    <li class="covered" data-hits="49" data-linenumber="38">
         | 
| 1960 | 
            +
                      <span class="hits">49</span>
         | 
| 1961 1961 |  | 
| 1962 1962 | 
             
                      <code class="ruby">        group = parse_after_backslash_group</code>
         | 
| 1963 1963 | 
             
                    </li>
         | 
| @@ -1968,8 +1968,8 @@ | |
| 1968 1968 | 
             
                      <code class="ruby">      else</code>
         | 
| 1969 1969 | 
             
                    </li>
         | 
| 1970 1970 |  | 
| 1971 | 
            -
                    <li class="covered" data-hits=" | 
| 1972 | 
            -
                      <span class="hits"> | 
| 1971 | 
            +
                    <li class="covered" data-hits="179" data-linenumber="40">
         | 
| 1972 | 
            +
                      <span class="hits">179</span>
         | 
| 1973 1973 |  | 
| 1974 1974 | 
             
                      <code class="ruby">        group = parse_single_char_group(char)</code>
         | 
| 1975 1975 | 
             
                    </li>
         | 
| @@ -1980,8 +1980,8 @@ | |
| 1980 1980 | 
             
                      <code class="ruby">      end</code>
         | 
| 1981 1981 | 
             
                    </li>
         | 
| 1982 1982 |  | 
| 1983 | 
            -
                    <li class="covered" data-hits=" | 
| 1984 | 
            -
                      <span class="hits"> | 
| 1983 | 
            +
                    <li class="covered" data-hits="331" data-linenumber="42">
         | 
| 1984 | 
            +
                      <span class="hits">331</span>
         | 
| 1985 1985 |  | 
| 1986 1986 | 
             
                      <code class="ruby">      group</code>
         | 
| 1987 1987 | 
             
                    </li>
         | 
| @@ -2004,8 +2004,8 @@ | |
| 2004 2004 | 
             
                      <code class="ruby">    def parse_after_backslash_group</code>
         | 
| 2005 2005 | 
             
                    </li>
         | 
| 2006 2006 |  | 
| 2007 | 
            -
                    <li class="covered" data-hits=" | 
| 2008 | 
            -
                      <span class="hits"> | 
| 2007 | 
            +
                    <li class="covered" data-hits="49" data-linenumber="46">
         | 
| 2008 | 
            +
                      <span class="hits">49</span>
         | 
| 2009 2009 |  | 
| 2010 2010 | 
             
                      <code class="ruby">      @current_position += 1</code>
         | 
| 2011 2011 | 
             
                    </li>
         | 
| @@ -2073,814 +2073,892 @@ | |
| 2073 2073 | 
             
                    <li class="never" data-hits="" data-linenumber="57">
         | 
| 2074 2074 |  | 
| 2075 2075 |  | 
| 2076 | 
            -
                      <code class="ruby">      when rest_of_string =~ /\ | 
| 2076 | 
            +
                      <code class="ruby">      when rest_of_string =~ /\A(c|C-)(.)/ # Control character</code>
         | 
| 2077 2077 | 
             
                    </li>
         | 
| 2078 2078 |  | 
| 2079 | 
            -
                    <li class=" | 
| 2080 | 
            -
                      <span class="hits">6</span>
         | 
| 2079 | 
            +
                    <li class="never" data-hits="" data-linenumber="58">
         | 
| 2081 2080 |  | 
| 2082 | 
            -
                       | 
| 2081 | 
            +
                      
         | 
| 2082 | 
            +
                      <code class="ruby">        # http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Literals</code>
         | 
| 2083 2083 | 
             
                    </li>
         | 
| 2084 2084 |  | 
| 2085 | 
            -
                    <li class="covered" data-hits=" | 
| 2086 | 
            -
                      <span class="hits"> | 
| 2085 | 
            +
                    <li class="covered" data-hits="8" data-linenumber="59">
         | 
| 2086 | 
            +
                      <span class="hits">8</span>
         | 
| 2087 2087 |  | 
| 2088 | 
            -
                      <code class="ruby">         | 
| 2088 | 
            +
                      <code class="ruby">        @current_position += $1.length</code>
         | 
| 2089 2089 | 
             
                    </li>
         | 
| 2090 2090 |  | 
| 2091 | 
            -
                    <li class=" | 
| 2092 | 
            -
                      
         | 
| 2091 | 
            +
                    <li class="covered" data-hits="8" data-linenumber="60">
         | 
| 2092 | 
            +
                      <span class="hits">8</span>
         | 
| 2093 2093 |  | 
| 2094 | 
            -
                      <code class="ruby">         | 
| 2094 | 
            +
                      <code class="ruby">        group = parse_single_char_group( parse_control_character($2) )</code>
         | 
| 2095 2095 | 
             
                    </li>
         | 
| 2096 2096 |  | 
| 2097 2097 | 
             
                    <li class="never" data-hits="" data-linenumber="61">
         | 
| 2098 2098 |  | 
| 2099 2099 |  | 
| 2100 | 
            -
                      <code class="ruby"> | 
| 2100 | 
            +
                      <code class="ruby">      when rest_of_string =~ /\Ax(\h{1,2})/ # Escape sequence</code>
         | 
| 2101 2101 | 
             
                    </li>
         | 
| 2102 2102 |  | 
| 2103 | 
            -
                    <li class=" | 
| 2103 | 
            +
                    <li class="covered" data-hits="3" data-linenumber="62">
         | 
| 2104 | 
            +
                      <span class="hits">3</span>
         | 
| 2105 | 
            +
                      
         | 
| 2106 | 
            +
                      <code class="ruby">        @current_position += $1.length</code>
         | 
| 2107 | 
            +
                    </li>
         | 
| 2108 | 
            +
                  
         | 
| 2109 | 
            +
                    <li class="covered" data-hits="3" data-linenumber="63">
         | 
| 2110 | 
            +
                      <span class="hits">3</span>
         | 
| 2111 | 
            +
                      
         | 
| 2112 | 
            +
                      <code class="ruby">        group = parse_single_char_group( parse_escape_sequence($1) )</code>
         | 
| 2113 | 
            +
                    </li>
         | 
| 2114 | 
            +
                  
         | 
| 2115 | 
            +
                    <li class="never" data-hits="" data-linenumber="64">
         | 
| 2116 | 
            +
                      
         | 
| 2117 | 
            +
                      
         | 
| 2118 | 
            +
                      <code class="ruby">      when rest_of_string =~ /\Au(\h{4})/ # Unicode sequence</code>
         | 
| 2119 | 
            +
                    </li>
         | 
| 2120 | 
            +
                  
         | 
| 2121 | 
            +
                    <li class="covered" data-hits="2" data-linenumber="65">
         | 
| 2122 | 
            +
                      <span class="hits">2</span>
         | 
| 2123 | 
            +
                      
         | 
| 2124 | 
            +
                      <code class="ruby">        @current_position += 4</code>
         | 
| 2125 | 
            +
                    </li>
         | 
| 2126 | 
            +
                  
         | 
| 2127 | 
            +
                    <li class="covered" data-hits="2" data-linenumber="66">
         | 
| 2128 | 
            +
                      <span class="hits">2</span>
         | 
| 2129 | 
            +
                      
         | 
| 2130 | 
            +
                      <code class="ruby">        group = parse_single_char_group( parse_unicode_sequence($1) )</code>
         | 
| 2131 | 
            +
                    </li>
         | 
| 2132 | 
            +
                  
         | 
| 2133 | 
            +
                    <li class="never" data-hits="" data-linenumber="67">
         | 
| 2104 2134 |  | 
| 2105 2135 |  | 
| 2106 2136 | 
             
                      <code class="ruby">      else</code>
         | 
| 2107 2137 | 
             
                    </li>
         | 
| 2108 2138 |  | 
| 2109 | 
            -
                    <li class="covered" data-hits="2" data-linenumber=" | 
| 2139 | 
            +
                    <li class="covered" data-hits="2" data-linenumber="68">
         | 
| 2110 2140 | 
             
                      <span class="hits">2</span>
         | 
| 2111 2141 |  | 
| 2112 2142 | 
             
                      <code class="ruby">        group = parse_single_char_group( regexp_string[@current_position] )</code>
         | 
| 2113 2143 | 
             
                    </li>
         | 
| 2114 2144 |  | 
| 2115 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2145 | 
            +
                    <li class="never" data-hits="" data-linenumber="69">
         | 
| 2116 2146 |  | 
| 2117 2147 |  | 
| 2118 2148 | 
             
                      <code class="ruby">        # TODO: What about cases like \A, \z, \Z ?</code>
         | 
| 2119 2149 | 
             
                    </li>
         | 
| 2120 2150 |  | 
| 2121 | 
            -
                    <li class="covered" data-hits=" | 
| 2122 | 
            -
                      <span class="hits"> | 
| 2151 | 
            +
                    <li class="covered" data-hits="49" data-linenumber="70">
         | 
| 2152 | 
            +
                      <span class="hits">49</span>
         | 
| 2123 2153 |  | 
| 2124 2154 | 
             
                      <code class="ruby">      end</code>
         | 
| 2125 2155 | 
             
                    </li>
         | 
| 2126 2156 |  | 
| 2127 | 
            -
                    <li class="covered" data-hits=" | 
| 2128 | 
            -
                      <span class="hits"> | 
| 2157 | 
            +
                    <li class="covered" data-hits="49" data-linenumber="71">
         | 
| 2158 | 
            +
                      <span class="hits">49</span>
         | 
| 2129 2159 |  | 
| 2130 2160 | 
             
                      <code class="ruby">      group</code>
         | 
| 2131 2161 | 
             
                    </li>
         | 
| 2132 2162 |  | 
| 2133 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2163 | 
            +
                    <li class="never" data-hits="" data-linenumber="72">
         | 
| 2134 2164 |  | 
| 2135 2165 |  | 
| 2136 2166 | 
             
                      <code class="ruby">    end</code>
         | 
| 2137 2167 | 
             
                    </li>
         | 
| 2138 2168 |  | 
| 2139 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2169 | 
            +
                    <li class="never" data-hits="" data-linenumber="73">
         | 
| 2140 2170 |  | 
| 2141 2171 |  | 
| 2142 2172 | 
             
                      <code class="ruby"></code>
         | 
| 2143 2173 | 
             
                    </li>
         | 
| 2144 2174 |  | 
| 2145 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2175 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="74">
         | 
| 2146 2176 | 
             
                      <span class="hits">1</span>
         | 
| 2147 2177 |  | 
| 2148 2178 | 
             
                      <code class="ruby">    def parse_repeater(group)</code>
         | 
| 2149 2179 | 
             
                    </li>
         | 
| 2150 2180 |  | 
| 2151 | 
            -
                    <li class="covered" data-hits=" | 
| 2152 | 
            -
                      <span class="hits"> | 
| 2181 | 
            +
                    <li class="covered" data-hits="290" data-linenumber="75">
         | 
| 2182 | 
            +
                      <span class="hits">290</span>
         | 
| 2153 2183 |  | 
| 2154 2184 | 
             
                      <code class="ruby">      char = regexp_string[@current_position]</code>
         | 
| 2155 2185 | 
             
                    </li>
         | 
| 2156 2186 |  | 
| 2157 | 
            -
                    <li class="covered" data-hits=" | 
| 2158 | 
            -
                      <span class="hits"> | 
| 2187 | 
            +
                    <li class="covered" data-hits="290" data-linenumber="76">
         | 
| 2188 | 
            +
                      <span class="hits">290</span>
         | 
| 2159 2189 |  | 
| 2160 2190 | 
             
                      <code class="ruby">      case char</code>
         | 
| 2161 2191 | 
             
                    </li>
         | 
| 2162 2192 |  | 
| 2163 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2193 | 
            +
                    <li class="never" data-hits="" data-linenumber="77">
         | 
| 2164 2194 |  | 
| 2165 2195 |  | 
| 2166 2196 | 
             
                      <code class="ruby">      when '*'</code>
         | 
| 2167 2197 | 
             
                    </li>
         | 
| 2168 2198 |  | 
| 2169 | 
            -
                    <li class="covered" data-hits="5" data-linenumber=" | 
| 2199 | 
            +
                    <li class="covered" data-hits="5" data-linenumber="78">
         | 
| 2170 2200 | 
             
                      <span class="hits">5</span>
         | 
| 2171 2201 |  | 
| 2172 2202 | 
             
                      <code class="ruby">        repeater = parse_star_repeater(group)</code>
         | 
| 2173 2203 | 
             
                    </li>
         | 
| 2174 2204 |  | 
| 2175 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2205 | 
            +
                    <li class="never" data-hits="" data-linenumber="79">
         | 
| 2176 2206 |  | 
| 2177 2207 |  | 
| 2178 2208 | 
             
                      <code class="ruby">      when '+'</code>
         | 
| 2179 2209 | 
             
                    </li>
         | 
| 2180 2210 |  | 
| 2181 | 
            -
                    <li class="covered" data-hits="4" data-linenumber=" | 
| 2211 | 
            +
                    <li class="covered" data-hits="4" data-linenumber="80">
         | 
| 2182 2212 | 
             
                      <span class="hits">4</span>
         | 
| 2183 2213 |  | 
| 2184 2214 | 
             
                      <code class="ruby">        repeater = parse_plus_repeater(group)</code>
         | 
| 2185 2215 | 
             
                    </li>
         | 
| 2186 2216 |  | 
| 2187 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2217 | 
            +
                    <li class="never" data-hits="" data-linenumber="81">
         | 
| 2188 2218 |  | 
| 2189 2219 |  | 
| 2190 2220 | 
             
                      <code class="ruby">      when '?'</code>
         | 
| 2191 2221 | 
             
                    </li>
         | 
| 2192 2222 |  | 
| 2193 | 
            -
                    <li class="covered" data-hits="11" data-linenumber=" | 
| 2223 | 
            +
                    <li class="covered" data-hits="11" data-linenumber="82">
         | 
| 2194 2224 | 
             
                      <span class="hits">11</span>
         | 
| 2195 2225 |  | 
| 2196 2226 | 
             
                      <code class="ruby">        repeater = parse_question_mark_repeater(group)</code>
         | 
| 2197 2227 | 
             
                    </li>
         | 
| 2198 2228 |  | 
| 2199 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2229 | 
            +
                    <li class="never" data-hits="" data-linenumber="83">
         | 
| 2200 2230 |  | 
| 2201 2231 |  | 
| 2202 2232 | 
             
                      <code class="ruby">      when '{'</code>
         | 
| 2203 2233 | 
             
                    </li>
         | 
| 2204 2234 |  | 
| 2205 | 
            -
                    <li class="covered" data-hits="5" data-linenumber=" | 
| 2235 | 
            +
                    <li class="covered" data-hits="5" data-linenumber="84">
         | 
| 2206 2236 | 
             
                      <span class="hits">5</span>
         | 
| 2207 2237 |  | 
| 2208 2238 | 
             
                      <code class="ruby">        repeater = parse_range_repeater(group)</code>
         | 
| 2209 2239 | 
             
                    </li>
         | 
| 2210 2240 |  | 
| 2211 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2241 | 
            +
                    <li class="never" data-hits="" data-linenumber="85">
         | 
| 2212 2242 |  | 
| 2213 2243 |  | 
| 2214 2244 | 
             
                      <code class="ruby">      else</code>
         | 
| 2215 2245 | 
             
                    </li>
         | 
| 2216 2246 |  | 
| 2217 | 
            -
                    <li class="covered" data-hits=" | 
| 2218 | 
            -
                      <span class="hits"> | 
| 2247 | 
            +
                    <li class="covered" data-hits="265" data-linenumber="86">
         | 
| 2248 | 
            +
                      <span class="hits">265</span>
         | 
| 2219 2249 |  | 
| 2220 2250 | 
             
                      <code class="ruby">        repeater = parse_one_time_repeater(group)</code>
         | 
| 2221 2251 | 
             
                    </li>
         | 
| 2222 2252 |  | 
| 2223 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2253 | 
            +
                    <li class="never" data-hits="" data-linenumber="87">
         | 
| 2224 2254 |  | 
| 2225 2255 |  | 
| 2226 2256 | 
             
                      <code class="ruby">      end</code>
         | 
| 2227 2257 | 
             
                    </li>
         | 
| 2228 2258 |  | 
| 2229 | 
            -
                    <li class="covered" data-hits=" | 
| 2230 | 
            -
                      <span class="hits"> | 
| 2259 | 
            +
                    <li class="covered" data-hits="290" data-linenumber="88">
         | 
| 2260 | 
            +
                      <span class="hits">290</span>
         | 
| 2231 2261 |  | 
| 2232 2262 | 
             
                      <code class="ruby">      repeater</code>
         | 
| 2233 2263 | 
             
                    </li>
         | 
| 2234 2264 |  | 
| 2235 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2265 | 
            +
                    <li class="never" data-hits="" data-linenumber="89">
         | 
| 2236 2266 |  | 
| 2237 2267 |  | 
| 2238 2268 | 
             
                      <code class="ruby">    end</code>
         | 
| 2239 2269 | 
             
                    </li>
         | 
| 2240 2270 |  | 
| 2241 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2271 | 
            +
                    <li class="never" data-hits="" data-linenumber="90">
         | 
| 2242 2272 |  | 
| 2243 2273 |  | 
| 2244 2274 | 
             
                      <code class="ruby"></code>
         | 
| 2245 2275 | 
             
                    </li>
         | 
| 2246 2276 |  | 
| 2247 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2277 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="91">
         | 
| 2248 2278 | 
             
                      <span class="hits">1</span>
         | 
| 2249 2279 |  | 
| 2250 2280 | 
             
                      <code class="ruby">    def parse_multi_group</code>
         | 
| 2251 2281 | 
             
                    </li>
         | 
| 2252 2282 |  | 
| 2253 | 
            -
                    <li class="covered" data-hits="45" data-linenumber=" | 
| 2283 | 
            +
                    <li class="covered" data-hits="45" data-linenumber="92">
         | 
| 2254 2284 | 
             
                      <span class="hits">45</span>
         | 
| 2255 2285 |  | 
| 2256 2286 | 
             
                      <code class="ruby">      @current_position += 1</code>
         | 
| 2257 2287 | 
             
                    </li>
         | 
| 2258 2288 |  | 
| 2259 | 
            -
                    <li class="covered" data-hits="45" data-linenumber=" | 
| 2289 | 
            +
                    <li class="covered" data-hits="45" data-linenumber="93">
         | 
| 2260 2290 | 
             
                      <span class="hits">45</span>
         | 
| 2261 2291 |  | 
| 2262 2292 | 
             
                      <code class="ruby">      @num_groups += 1</code>
         | 
| 2263 2293 | 
             
                    </li>
         | 
| 2264 2294 |  | 
| 2265 | 
            -
                    <li class="covered" data-hits="45" data-linenumber=" | 
| 2295 | 
            +
                    <li class="covered" data-hits="45" data-linenumber="94">
         | 
| 2266 2296 | 
             
                      <span class="hits">45</span>
         | 
| 2267 2297 |  | 
| 2268 2298 | 
             
                      <code class="ruby">      group_id = nil # init</code>
         | 
| 2269 2299 | 
             
                    </li>
         | 
| 2270 2300 |  | 
| 2271 | 
            -
                    <li class="covered" data-hits="45" data-linenumber=" | 
| 2301 | 
            +
                    <li class="covered" data-hits="45" data-linenumber="95">
         | 
| 2272 2302 | 
             
                      <span class="hits">45</span>
         | 
| 2273 2303 |  | 
| 2274 2304 | 
             
                      <code class="ruby">      rest_of_string.match(/\A(\?)?(:|!|=|<(!|=|[^!=][^>]*))?/) do |match|</code>
         | 
| 2275 2305 | 
             
                    </li>
         | 
| 2276 2306 |  | 
| 2277 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2307 | 
            +
                    <li class="never" data-hits="" data-linenumber="96">
         | 
| 2278 2308 |  | 
| 2279 2309 |  | 
| 2280 2310 | 
             
                      <code class="ruby">        case</code>
         | 
| 2281 2311 | 
             
                    </li>
         | 
| 2282 2312 |  | 
| 2283 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2313 | 
            +
                    <li class="never" data-hits="" data-linenumber="97">
         | 
| 2284 2314 |  | 
| 2285 2315 |  | 
| 2286 2316 | 
             
                      <code class="ruby">        when match[1].nil? # e.g. /(normal)/</code>
         | 
| 2287 2317 | 
             
                    </li>
         | 
| 2288 2318 |  | 
| 2289 | 
            -
                    <li class="covered" data-hits="38" data-linenumber=" | 
| 2319 | 
            +
                    <li class="covered" data-hits="38" data-linenumber="98">
         | 
| 2290 2320 | 
             
                      <span class="hits">38</span>
         | 
| 2291 2321 |  | 
| 2292 2322 | 
             
                      <code class="ruby">          group_id = @num_groups.to_s</code>
         | 
| 2293 2323 | 
             
                    </li>
         | 
| 2294 2324 |  | 
| 2295 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2325 | 
            +
                    <li class="never" data-hits="" data-linenumber="99">
         | 
| 2296 2326 |  | 
| 2297 2327 |  | 
| 2298 2328 | 
             
                      <code class="ruby">        when match[2] == ':' # e.g. /(?:nocapture)/</code>
         | 
| 2299 2329 | 
             
                    </li>
         | 
| 2300 2330 |  | 
| 2301 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2331 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="100">
         | 
| 2302 2332 | 
             
                      <span class="hits">1</span>
         | 
| 2303 2333 |  | 
| 2304 2334 | 
             
                      <code class="ruby">          @current_position += 2</code>
         | 
| 2305 2335 | 
             
                    </li>
         | 
| 2306 2336 |  | 
| 2307 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2337 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="101">
         | 
| 2308 2338 | 
             
                      <span class="hits">1</span>
         | 
| 2309 2339 |  | 
| 2310 2340 | 
             
                      <code class="ruby">          group_id = nil</code>
         | 
| 2311 2341 | 
             
                    </li>
         | 
| 2312 2342 |  | 
| 2313 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2343 | 
            +
                    <li class="never" data-hits="" data-linenumber="102">
         | 
| 2314 2344 |  | 
| 2315 2345 |  | 
| 2316 2346 | 
             
                      <code class="ruby">        when %w(! =).include?(match[2]) # e.g. /(?=lookahead)/, /(?!neglookahead)/</code>
         | 
| 2317 2347 | 
             
                    </li>
         | 
| 2318 2348 |  | 
| 2319 | 
            -
                    <li class="covered" data-hits="2" data-linenumber=" | 
| 2349 | 
            +
                    <li class="covered" data-hits="2" data-linenumber="103">
         | 
| 2320 2350 | 
             
                      <span class="hits">2</span>
         | 
| 2321 2351 |  | 
| 2322 2352 | 
             
                      <code class="ruby">          raise IllegalSyntaxError, "Lookaheads are not regular; cannot generate examples"</code>
         | 
| 2323 2353 | 
             
                    </li>
         | 
| 2324 2354 |  | 
| 2325 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2355 | 
            +
                    <li class="never" data-hits="" data-linenumber="104">
         | 
| 2326 2356 |  | 
| 2327 2357 |  | 
| 2328 2358 | 
             
                      <code class="ruby">        when %w(! =).include?(match[3]) # e.g. /(?<=lookbehind)/, /(?<!neglookbehind)/</code>
         | 
| 2329 2359 | 
             
                    </li>
         | 
| 2330 2360 |  | 
| 2331 | 
            -
                    <li class="covered" data-hits="2" data-linenumber=" | 
| 2361 | 
            +
                    <li class="covered" data-hits="2" data-linenumber="105">
         | 
| 2332 2362 | 
             
                      <span class="hits">2</span>
         | 
| 2333 2363 |  | 
| 2334 2364 | 
             
                      <code class="ruby">          raise IllegalSyntaxError, "Lookbehinds are not regular; cannot generate examples"</code>
         | 
| 2335 2365 | 
             
                    </li>
         | 
| 2336 2366 |  | 
| 2337 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2367 | 
            +
                    <li class="never" data-hits="" data-linenumber="106">
         | 
| 2338 2368 |  | 
| 2339 2369 |  | 
| 2340 2370 | 
             
                      <code class="ruby">        else # e.g. /(?<name>namedgroup)/</code>
         | 
| 2341 2371 | 
             
                    </li>
         | 
| 2342 2372 |  | 
| 2343 | 
            -
                    <li class="covered" data-hits="2" data-linenumber=" | 
| 2373 | 
            +
                    <li class="covered" data-hits="2" data-linenumber="107">
         | 
| 2344 2374 | 
             
                      <span class="hits">2</span>
         | 
| 2345 2375 |  | 
| 2346 2376 | 
             
                      <code class="ruby">          @current_position += (match[3].length + 3)</code>
         | 
| 2347 2377 | 
             
                    </li>
         | 
| 2348 2378 |  | 
| 2349 | 
            -
                    <li class="covered" data-hits="2" data-linenumber=" | 
| 2379 | 
            +
                    <li class="covered" data-hits="2" data-linenumber="108">
         | 
| 2350 2380 | 
             
                      <span class="hits">2</span>
         | 
| 2351 2381 |  | 
| 2352 2382 | 
             
                      <code class="ruby">          group_id = match[3]</code>
         | 
| 2353 2383 | 
             
                    </li>
         | 
| 2354 2384 |  | 
| 2355 | 
            -
                    <li class="covered" data-hits="45" data-linenumber=" | 
| 2385 | 
            +
                    <li class="covered" data-hits="45" data-linenumber="109">
         | 
| 2356 2386 | 
             
                      <span class="hits">45</span>
         | 
| 2357 2387 |  | 
| 2358 2388 | 
             
                      <code class="ruby">        end</code>
         | 
| 2359 2389 | 
             
                    </li>
         | 
| 2360 2390 |  | 
| 2361 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2391 | 
            +
                    <li class="never" data-hits="" data-linenumber="110">
         | 
| 2362 2392 |  | 
| 2363 2393 |  | 
| 2364 2394 | 
             
                      <code class="ruby">      end</code>
         | 
| 2365 2395 | 
             
                    </li>
         | 
| 2366 2396 |  | 
| 2367 | 
            -
                    <li class="covered" data-hits="41" data-linenumber=" | 
| 2397 | 
            +
                    <li class="covered" data-hits="41" data-linenumber="111">
         | 
| 2368 2398 | 
             
                      <span class="hits">41</span>
         | 
| 2369 2399 |  | 
| 2370 2400 | 
             
                      <code class="ruby">      groups = parse</code>
         | 
| 2371 2401 | 
             
                    </li>
         | 
| 2372 2402 |  | 
| 2373 | 
            -
                    <li class="covered" data-hits="41" data-linenumber=" | 
| 2403 | 
            +
                    <li class="covered" data-hits="41" data-linenumber="112">
         | 
| 2374 2404 | 
             
                      <span class="hits">41</span>
         | 
| 2375 2405 |  | 
| 2376 2406 | 
             
                      <code class="ruby">      MultiGroup.new(groups, group_id)</code>
         | 
| 2377 2407 | 
             
                    </li>
         | 
| 2378 2408 |  | 
| 2379 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2409 | 
            +
                    <li class="never" data-hits="" data-linenumber="113">
         | 
| 2380 2410 |  | 
| 2381 2411 |  | 
| 2382 2412 | 
             
                      <code class="ruby">    end</code>
         | 
| 2383 2413 | 
             
                    </li>
         | 
| 2384 2414 |  | 
| 2385 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2415 | 
            +
                    <li class="never" data-hits="" data-linenumber="114">
         | 
| 2386 2416 |  | 
| 2387 2417 |  | 
| 2388 2418 | 
             
                      <code class="ruby"></code>
         | 
| 2389 2419 | 
             
                    </li>
         | 
| 2390 2420 |  | 
| 2391 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2421 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="115">
         | 
| 2392 2422 | 
             
                      <span class="hits">1</span>
         | 
| 2393 2423 |  | 
| 2394 2424 | 
             
                      <code class="ruby">    def parse_multi_end_group</code>
         | 
| 2395 2425 | 
             
                    </li>
         | 
| 2396 2426 |  | 
| 2397 | 
            -
                    <li class="covered" data-hits="41" data-linenumber=" | 
| 2427 | 
            +
                    <li class="covered" data-hits="41" data-linenumber="116">
         | 
| 2398 2428 | 
             
                      <span class="hits">41</span>
         | 
| 2399 2429 |  | 
| 2400 2430 | 
             
                      <code class="ruby">      MultiGroupEnd.new</code>
         | 
| 2401 2431 | 
             
                    </li>
         | 
| 2402 2432 |  | 
| 2403 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2433 | 
            +
                    <li class="never" data-hits="" data-linenumber="117">
         | 
| 2404 2434 |  | 
| 2405 2435 |  | 
| 2406 2436 | 
             
                      <code class="ruby">    end</code>
         | 
| 2407 2437 | 
             
                    </li>
         | 
| 2408 2438 |  | 
| 2409 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2439 | 
            +
                    <li class="never" data-hits="" data-linenumber="118">
         | 
| 2410 2440 |  | 
| 2411 2441 |  | 
| 2412 2442 | 
             
                      <code class="ruby"></code>
         | 
| 2413 2443 | 
             
                    </li>
         | 
| 2414 2444 |  | 
| 2415 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2445 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="119">
         | 
| 2416 2446 | 
             
                      <span class="hits">1</span>
         | 
| 2417 2447 |  | 
| 2418 2448 | 
             
                      <code class="ruby">    def parse_char_group</code>
         | 
| 2419 2449 | 
             
                    </li>
         | 
| 2420 2450 |  | 
| 2421 | 
            -
                    <li class="covered" data-hits="14" data-linenumber=" | 
| 2451 | 
            +
                    <li class="covered" data-hits="14" data-linenumber="120">
         | 
| 2422 2452 | 
             
                      <span class="hits">14</span>
         | 
| 2423 2453 |  | 
| 2424 2454 | 
             
                      <code class="ruby">      chars = []</code>
         | 
| 2425 2455 | 
             
                    </li>
         | 
| 2426 2456 |  | 
| 2427 | 
            -
                    <li class="covered" data-hits="14" data-linenumber=" | 
| 2457 | 
            +
                    <li class="covered" data-hits="14" data-linenumber="121">
         | 
| 2428 2458 | 
             
                      <span class="hits">14</span>
         | 
| 2429 2459 |  | 
| 2430 2460 | 
             
                      <code class="ruby">      @current_position += 1</code>
         | 
| 2431 2461 | 
             
                    </li>
         | 
| 2432 2462 |  | 
| 2433 | 
            -
                    <li class="covered" data-hits="14" data-linenumber=" | 
| 2463 | 
            +
                    <li class="covered" data-hits="14" data-linenumber="122">
         | 
| 2434 2464 | 
             
                      <span class="hits">14</span>
         | 
| 2435 2465 |  | 
| 2436 2466 | 
             
                      <code class="ruby">      if regexp_string[@current_position] == ']'</code>
         | 
| 2437 2467 | 
             
                    </li>
         | 
| 2438 2468 |  | 
| 2439 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2469 | 
            +
                    <li class="never" data-hits="" data-linenumber="123">
         | 
| 2440 2470 |  | 
| 2441 2471 |  | 
| 2442 2472 | 
             
                      <code class="ruby">        # Beware of the sneaky edge case:</code>
         | 
| 2443 2473 | 
             
                    </li>
         | 
| 2444 2474 |  | 
| 2445 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2475 | 
            +
                    <li class="never" data-hits="" data-linenumber="124">
         | 
| 2446 2476 |  | 
| 2447 2477 |  | 
| 2448 2478 | 
             
                      <code class="ruby">        # /[]]/ (match "]")</code>
         | 
| 2449 2479 | 
             
                    </li>
         | 
| 2450 2480 |  | 
| 2451 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2481 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="125">
         | 
| 2452 2482 | 
             
                      <span class="hits">1</span>
         | 
| 2453 2483 |  | 
| 2454 2484 | 
             
                      <code class="ruby">        chars << ']'</code>
         | 
| 2455 2485 | 
             
                    </li>
         | 
| 2456 2486 |  | 
| 2457 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2487 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="126">
         | 
| 2458 2488 | 
             
                      <span class="hits">1</span>
         | 
| 2459 2489 |  | 
| 2460 2490 | 
             
                      <code class="ruby">        @current_position += 1</code>
         | 
| 2461 2491 | 
             
                    </li>
         | 
| 2462 2492 |  | 
| 2463 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2493 | 
            +
                    <li class="never" data-hits="" data-linenumber="127">
         | 
| 2464 2494 |  | 
| 2465 2495 |  | 
| 2466 2496 | 
             
                      <code class="ruby">      end</code>
         | 
| 2467 2497 | 
             
                    </li>
         | 
| 2468 2498 |  | 
| 2469 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2499 | 
            +
                    <li class="never" data-hits="" data-linenumber="128">
         | 
| 2470 2500 |  | 
| 2471 2501 |  | 
| 2472 2502 | 
             
                      <code class="ruby">      until regexp_string[@current_position] == ']' \</code>
         | 
| 2473 2503 | 
             
                    </li>
         | 
| 2474 2504 |  | 
| 2475 | 
            -
                    <li class="covered" data-hits="14" data-linenumber=" | 
| 2505 | 
            +
                    <li class="covered" data-hits="14" data-linenumber="129">
         | 
| 2476 2506 | 
             
                      <span class="hits">14</span>
         | 
| 2477 2507 |  | 
| 2478 2508 | 
             
                      <code class="ruby">        && !regexp_string[0..@current_position-1].match(/[^\\](\\{2})*\\\z/)</code>
         | 
| 2479 2509 | 
             
                    </li>
         | 
| 2480 2510 |  | 
| 2481 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2511 | 
            +
                    <li class="never" data-hits="" data-linenumber="130">
         | 
| 2482 2512 |  | 
| 2483 2513 |  | 
| 2484 2514 | 
             
                      <code class="ruby">        # Beware of having an ODD number of "\" before the "]", e.g.</code>
         | 
| 2485 2515 | 
             
                    </li>
         | 
| 2486 2516 |  | 
| 2487 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2517 | 
            +
                    <li class="never" data-hits="" data-linenumber="131">
         | 
| 2488 2518 |  | 
| 2489 2519 |  | 
| 2490 2520 | 
             
                      <code class="ruby">        # /[\]]/ (match "]")</code>
         | 
| 2491 2521 | 
             
                    </li>
         | 
| 2492 2522 |  | 
| 2493 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2523 | 
            +
                    <li class="never" data-hits="" data-linenumber="132">
         | 
| 2494 2524 |  | 
| 2495 2525 |  | 
| 2496 2526 | 
             
                      <code class="ruby">        # /[\\]/ (match "\")</code>
         | 
| 2497 2527 | 
             
                    </li>
         | 
| 2498 2528 |  | 
| 2499 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2529 | 
            +
                    <li class="never" data-hits="" data-linenumber="133">
         | 
| 2500 2530 |  | 
| 2501 2531 |  | 
| 2502 2532 | 
             
                      <code class="ruby">        # /[\\\]]/ (match "\" or "]")</code>
         | 
| 2503 2533 | 
             
                    </li>
         | 
| 2504 2534 |  | 
| 2505 | 
            -
                    <li class="covered" data-hits="41" data-linenumber=" | 
| 2535 | 
            +
                    <li class="covered" data-hits="41" data-linenumber="134">
         | 
| 2506 2536 | 
             
                      <span class="hits">41</span>
         | 
| 2507 2537 |  | 
| 2508 2538 | 
             
                      <code class="ruby">        chars << regexp_string[@current_position]</code>
         | 
| 2509 2539 | 
             
                    </li>
         | 
| 2510 2540 |  | 
| 2511 | 
            -
                    <li class="covered" data-hits="41" data-linenumber=" | 
| 2541 | 
            +
                    <li class="covered" data-hits="41" data-linenumber="135">
         | 
| 2512 2542 | 
             
                      <span class="hits">41</span>
         | 
| 2513 2543 |  | 
| 2514 2544 | 
             
                      <code class="ruby">        @current_position += 1</code>
         | 
| 2515 2545 | 
             
                    </li>
         | 
| 2516 2546 |  | 
| 2517 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2547 | 
            +
                    <li class="never" data-hits="" data-linenumber="136">
         | 
| 2518 2548 |  | 
| 2519 2549 |  | 
| 2520 2550 | 
             
                      <code class="ruby">      end</code>
         | 
| 2521 2551 | 
             
                    </li>
         | 
| 2522 2552 |  | 
| 2523 | 
            -
                    <li class="covered" data-hits="14" data-linenumber=" | 
| 2553 | 
            +
                    <li class="covered" data-hits="14" data-linenumber="137">
         | 
| 2524 2554 | 
             
                      <span class="hits">14</span>
         | 
| 2525 2555 |  | 
| 2526 2556 | 
             
                      <code class="ruby">      CharGroup.new(chars)</code>
         | 
| 2527 2557 | 
             
                    </li>
         | 
| 2528 2558 |  | 
| 2529 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2559 | 
            +
                    <li class="never" data-hits="" data-linenumber="138">
         | 
| 2530 2560 |  | 
| 2531 2561 |  | 
| 2532 2562 | 
             
                      <code class="ruby">    end</code>
         | 
| 2533 2563 | 
             
                    </li>
         | 
| 2534 2564 |  | 
| 2535 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2565 | 
            +
                    <li class="never" data-hits="" data-linenumber="139">
         | 
| 2536 2566 |  | 
| 2537 2567 |  | 
| 2538 2568 | 
             
                      <code class="ruby"></code>
         | 
| 2539 2569 | 
             
                    </li>
         | 
| 2540 2570 |  | 
| 2541 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2571 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="140">
         | 
| 2542 2572 | 
             
                      <span class="hits">1</span>
         | 
| 2543 2573 |  | 
| 2544 2574 | 
             
                      <code class="ruby">    def parse_dot_group</code>
         | 
| 2545 2575 | 
             
                    </li>
         | 
| 2546 2576 |  | 
| 2547 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2577 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="141">
         | 
| 2548 2578 | 
             
                      <span class="hits">1</span>
         | 
| 2549 2579 |  | 
| 2550 2580 | 
             
                      <code class="ruby">      DotGroup.new</code>
         | 
| 2551 2581 | 
             
                    </li>
         | 
| 2552 2582 |  | 
| 2553 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2583 | 
            +
                    <li class="never" data-hits="" data-linenumber="142">
         | 
| 2554 2584 |  | 
| 2555 2585 |  | 
| 2556 2586 | 
             
                      <code class="ruby">    end</code>
         | 
| 2557 2587 | 
             
                    </li>
         | 
| 2558 2588 |  | 
| 2559 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2589 | 
            +
                    <li class="never" data-hits="" data-linenumber="143">
         | 
| 2560 2590 |  | 
| 2561 2591 |  | 
| 2562 2592 | 
             
                      <code class="ruby"></code>
         | 
| 2563 2593 | 
             
                    </li>
         | 
| 2564 2594 |  | 
| 2565 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2595 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="144">
         | 
| 2566 2596 | 
             
                      <span class="hits">1</span>
         | 
| 2567 2597 |  | 
| 2568 2598 | 
             
                      <code class="ruby">    def parse_or_group(left_repeaters)</code>
         | 
| 2569 2599 | 
             
                    </li>
         | 
| 2570 2600 |  | 
| 2571 | 
            -
                    <li class="covered" data-hits="6" data-linenumber=" | 
| 2601 | 
            +
                    <li class="covered" data-hits="6" data-linenumber="145">
         | 
| 2572 2602 | 
             
                      <span class="hits">6</span>
         | 
| 2573 2603 |  | 
| 2574 2604 | 
             
                      <code class="ruby">      @current_position += 1</code>
         | 
| 2575 2605 | 
             
                    </li>
         | 
| 2576 2606 |  | 
| 2577 | 
            -
                    <li class="covered" data-hits="6" data-linenumber=" | 
| 2607 | 
            +
                    <li class="covered" data-hits="6" data-linenumber="146">
         | 
| 2578 2608 | 
             
                      <span class="hits">6</span>
         | 
| 2579 2609 |  | 
| 2580 2610 | 
             
                      <code class="ruby">      right_repeaters = parse</code>
         | 
| 2581 2611 | 
             
                    </li>
         | 
| 2582 2612 |  | 
| 2583 | 
            -
                    <li class="covered" data-hits="6" data-linenumber=" | 
| 2613 | 
            +
                    <li class="covered" data-hits="6" data-linenumber="147">
         | 
| 2584 2614 | 
             
                      <span class="hits">6</span>
         | 
| 2585 2615 |  | 
| 2586 2616 | 
             
                      <code class="ruby">      OrGroup.new(left_repeaters, right_repeaters)</code>
         | 
| 2587 2617 | 
             
                    </li>
         | 
| 2588 2618 |  | 
| 2589 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2619 | 
            +
                    <li class="never" data-hits="" data-linenumber="148">
         | 
| 2590 2620 |  | 
| 2591 2621 |  | 
| 2592 2622 | 
             
                      <code class="ruby">    end</code>
         | 
| 2593 2623 | 
             
                    </li>
         | 
| 2594 2624 |  | 
| 2595 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2625 | 
            +
                    <li class="never" data-hits="" data-linenumber="149">
         | 
| 2596 2626 |  | 
| 2597 2627 |  | 
| 2598 2628 | 
             
                      <code class="ruby"></code>
         | 
| 2599 2629 | 
             
                    </li>
         | 
| 2600 2630 |  | 
| 2601 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2631 | 
            +
                    <li class="never" data-hits="" data-linenumber="150">
         | 
| 2602 2632 |  | 
| 2603 2633 |  | 
| 2604 2634 | 
             
                      <code class="ruby"></code>
         | 
| 2605 2635 | 
             
                    </li>
         | 
| 2606 2636 |  | 
| 2607 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2637 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="151">
         | 
| 2608 2638 | 
             
                      <span class="hits">1</span>
         | 
| 2609 2639 |  | 
| 2610 2640 | 
             
                      <code class="ruby">    def parse_single_char_group(char)</code>
         | 
| 2611 2641 | 
             
                    </li>
         | 
| 2612 2642 |  | 
| 2613 | 
            -
                    <li class="covered" data-hits=" | 
| 2614 | 
            -
                      <span class="hits"> | 
| 2643 | 
            +
                    <li class="covered" data-hits="194" data-linenumber="152">
         | 
| 2644 | 
            +
                      <span class="hits">194</span>
         | 
| 2615 2645 |  | 
| 2616 2646 | 
             
                      <code class="ruby">      SingleCharGroup.new(char)</code>
         | 
| 2617 2647 | 
             
                    </li>
         | 
| 2618 2648 |  | 
| 2619 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2649 | 
            +
                    <li class="never" data-hits="" data-linenumber="153">
         | 
| 2620 2650 |  | 
| 2621 2651 |  | 
| 2622 2652 | 
             
                      <code class="ruby">    end</code>
         | 
| 2623 2653 | 
             
                    </li>
         | 
| 2624 2654 |  | 
| 2625 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2655 | 
            +
                    <li class="never" data-hits="" data-linenumber="154">
         | 
| 2626 2656 |  | 
| 2627 2657 |  | 
| 2628 2658 | 
             
                      <code class="ruby"></code>
         | 
| 2629 2659 | 
             
                    </li>
         | 
| 2630 2660 |  | 
| 2631 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2661 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="155">
         | 
| 2632 2662 | 
             
                      <span class="hits">1</span>
         | 
| 2633 2663 |  | 
| 2634 2664 | 
             
                      <code class="ruby">    def parse_backreference_group(match)</code>
         | 
| 2635 2665 | 
             
                    </li>
         | 
| 2636 2666 |  | 
| 2637 | 
            -
                    <li class="covered" data-hits="20" data-linenumber=" | 
| 2667 | 
            +
                    <li class="covered" data-hits="20" data-linenumber="156">
         | 
| 2638 2668 | 
             
                      <span class="hits">20</span>
         | 
| 2639 2669 |  | 
| 2640 2670 | 
             
                      <code class="ruby">      BackReferenceGroup.new(match)</code>
         | 
| 2641 2671 | 
             
                    </li>
         | 
| 2642 2672 |  | 
| 2643 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2673 | 
            +
                    <li class="never" data-hits="" data-linenumber="157">
         | 
| 2644 2674 |  | 
| 2645 2675 |  | 
| 2646 2676 | 
             
                      <code class="ruby">    end</code>
         | 
| 2647 2677 | 
             
                    </li>
         | 
| 2648 2678 |  | 
| 2649 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2679 | 
            +
                    <li class="never" data-hits="" data-linenumber="158">
         | 
| 2650 2680 |  | 
| 2651 2681 |  | 
| 2652 2682 | 
             
                      <code class="ruby"></code>
         | 
| 2653 2683 | 
             
                    </li>
         | 
| 2654 2684 |  | 
| 2655 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2685 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="159">
         | 
| 2656 2686 | 
             
                      <span class="hits">1</span>
         | 
| 2657 2687 |  | 
| 2658 2688 | 
             
                      <code class="ruby">    def parse_control_character(char)</code>
         | 
| 2659 2689 | 
             
                    </li>
         | 
| 2660 2690 |  | 
| 2661 | 
            -
                    <li class=" | 
| 2691 | 
            +
                    <li class="covered" data-hits="8" data-linenumber="160">
         | 
| 2692 | 
            +
                      <span class="hits">8</span>
         | 
| 2693 | 
            +
                      
         | 
| 2694 | 
            +
                      <code class="ruby">      (char.ord % 32).chr # Black magic!</code>
         | 
| 2695 | 
            +
                    </li>
         | 
| 2696 | 
            +
                  
         | 
| 2697 | 
            +
                    <li class="never" data-hits="" data-linenumber="161">
         | 
| 2698 | 
            +
                      
         | 
| 2662 2699 |  | 
| 2700 | 
            +
                      <code class="ruby">      # eval "?\\C-#{char.chr}" # Doesn't work for e.g. char = "?"</code>
         | 
| 2701 | 
            +
                    </li>
         | 
| 2702 | 
            +
                  
         | 
| 2703 | 
            +
                    <li class="never" data-hits="" data-linenumber="162">
         | 
| 2663 2704 |  | 
| 2664 | 
            -
                       | 
| 2705 | 
            +
                      
         | 
| 2706 | 
            +
                      <code class="ruby">    end</code>
         | 
| 2665 2707 | 
             
                    </li>
         | 
| 2666 2708 |  | 
| 2667 | 
            -
                    <li class=" | 
| 2668 | 
            -
                       | 
| 2709 | 
            +
                    <li class="never" data-hits="" data-linenumber="163">
         | 
| 2710 | 
            +
                      
         | 
| 2669 2711 |  | 
| 2670 | 
            -
                      <code class="ruby" | 
| 2712 | 
            +
                      <code class="ruby"></code>
         | 
| 2671 2713 | 
             
                    </li>
         | 
| 2672 2714 |  | 
| 2673 | 
            -
                    <li class=" | 
| 2715 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="164">
         | 
| 2716 | 
            +
                      <span class="hits">1</span>
         | 
| 2717 | 
            +
                      
         | 
| 2718 | 
            +
                      <code class="ruby">    def parse_escape_sequence(match)</code>
         | 
| 2719 | 
            +
                    </li>
         | 
| 2720 | 
            +
                  
         | 
| 2721 | 
            +
                    <li class="covered" data-hits="3" data-linenumber="165">
         | 
| 2722 | 
            +
                      <span class="hits">3</span>
         | 
| 2723 | 
            +
                      
         | 
| 2724 | 
            +
                      <code class="ruby">      eval "?\\x#{match}"</code>
         | 
| 2725 | 
            +
                    </li>
         | 
| 2726 | 
            +
                  
         | 
| 2727 | 
            +
                    <li class="never" data-hits="" data-linenumber="166">
         | 
| 2674 2728 |  | 
| 2675 2729 |  | 
| 2676 2730 | 
             
                      <code class="ruby">    end</code>
         | 
| 2677 2731 | 
             
                    </li>
         | 
| 2678 2732 |  | 
| 2679 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2733 | 
            +
                    <li class="never" data-hits="" data-linenumber="167">
         | 
| 2680 2734 |  | 
| 2681 2735 |  | 
| 2682 2736 | 
             
                      <code class="ruby"></code>
         | 
| 2683 2737 | 
             
                    </li>
         | 
| 2684 2738 |  | 
| 2685 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2739 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="168">
         | 
| 2740 | 
            +
                      <span class="hits">1</span>
         | 
| 2741 | 
            +
                      
         | 
| 2742 | 
            +
                      <code class="ruby">    def parse_unicode_sequence(match)</code>
         | 
| 2743 | 
            +
                    </li>
         | 
| 2744 | 
            +
                  
         | 
| 2745 | 
            +
                    <li class="covered" data-hits="2" data-linenumber="169">
         | 
| 2746 | 
            +
                      <span class="hits">2</span>
         | 
| 2747 | 
            +
                      
         | 
| 2748 | 
            +
                      <code class="ruby">      eval "?\\u#{match}"</code>
         | 
| 2749 | 
            +
                    </li>
         | 
| 2750 | 
            +
                  
         | 
| 2751 | 
            +
                    <li class="never" data-hits="" data-linenumber="170">
         | 
| 2752 | 
            +
                      
         | 
| 2753 | 
            +
                      
         | 
| 2754 | 
            +
                      <code class="ruby">    end</code>
         | 
| 2755 | 
            +
                    </li>
         | 
| 2756 | 
            +
                  
         | 
| 2757 | 
            +
                    <li class="never" data-hits="" data-linenumber="171">
         | 
| 2758 | 
            +
                      
         | 
| 2759 | 
            +
                      
         | 
| 2760 | 
            +
                      <code class="ruby"></code>
         | 
| 2761 | 
            +
                    </li>
         | 
| 2762 | 
            +
                  
         | 
| 2763 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="172">
         | 
| 2686 2764 | 
             
                      <span class="hits">1</span>
         | 
| 2687 2765 |  | 
| 2688 2766 | 
             
                      <code class="ruby">    def parse_star_repeater(group)</code>
         | 
| 2689 2767 | 
             
                    </li>
         | 
| 2690 2768 |  | 
| 2691 | 
            -
                    <li class="covered" data-hits="5" data-linenumber=" | 
| 2769 | 
            +
                    <li class="covered" data-hits="5" data-linenumber="173">
         | 
| 2692 2770 | 
             
                      <span class="hits">5</span>
         | 
| 2693 2771 |  | 
| 2694 2772 | 
             
                      <code class="ruby">      @current_position += 1</code>
         | 
| 2695 2773 | 
             
                    </li>
         | 
| 2696 2774 |  | 
| 2697 | 
            -
                    <li class="covered" data-hits="5" data-linenumber=" | 
| 2775 | 
            +
                    <li class="covered" data-hits="5" data-linenumber="174">
         | 
| 2698 2776 | 
             
                      <span class="hits">5</span>
         | 
| 2699 2777 |  | 
| 2700 2778 | 
             
                      <code class="ruby">      StarRepeater.new(group)</code>
         | 
| 2701 2779 | 
             
                    </li>
         | 
| 2702 2780 |  | 
| 2703 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2781 | 
            +
                    <li class="never" data-hits="" data-linenumber="175">
         | 
| 2704 2782 |  | 
| 2705 2783 |  | 
| 2706 2784 | 
             
                      <code class="ruby">    end</code>
         | 
| 2707 2785 | 
             
                    </li>
         | 
| 2708 2786 |  | 
| 2709 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2787 | 
            +
                    <li class="never" data-hits="" data-linenumber="176">
         | 
| 2710 2788 |  | 
| 2711 2789 |  | 
| 2712 2790 | 
             
                      <code class="ruby"></code>
         | 
| 2713 2791 | 
             
                    </li>
         | 
| 2714 2792 |  | 
| 2715 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2793 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="177">
         | 
| 2716 2794 | 
             
                      <span class="hits">1</span>
         | 
| 2717 2795 |  | 
| 2718 2796 | 
             
                      <code class="ruby">    def parse_plus_repeater(group)</code>
         | 
| 2719 2797 | 
             
                    </li>
         | 
| 2720 2798 |  | 
| 2721 | 
            -
                    <li class="covered" data-hits="4" data-linenumber=" | 
| 2799 | 
            +
                    <li class="covered" data-hits="4" data-linenumber="178">
         | 
| 2722 2800 | 
             
                      <span class="hits">4</span>
         | 
| 2723 2801 |  | 
| 2724 2802 | 
             
                      <code class="ruby">      @current_position += 1</code>
         | 
| 2725 2803 | 
             
                    </li>
         | 
| 2726 2804 |  | 
| 2727 | 
            -
                    <li class="covered" data-hits="4" data-linenumber=" | 
| 2805 | 
            +
                    <li class="covered" data-hits="4" data-linenumber="179">
         | 
| 2728 2806 | 
             
                      <span class="hits">4</span>
         | 
| 2729 2807 |  | 
| 2730 2808 | 
             
                      <code class="ruby">      PlusRepeater.new(group)</code>
         | 
| 2731 2809 | 
             
                    </li>
         | 
| 2732 2810 |  | 
| 2733 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2811 | 
            +
                    <li class="never" data-hits="" data-linenumber="180">
         | 
| 2734 2812 |  | 
| 2735 2813 |  | 
| 2736 2814 | 
             
                      <code class="ruby">    end</code>
         | 
| 2737 2815 | 
             
                    </li>
         | 
| 2738 2816 |  | 
| 2739 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2817 | 
            +
                    <li class="never" data-hits="" data-linenumber="181">
         | 
| 2740 2818 |  | 
| 2741 2819 |  | 
| 2742 2820 | 
             
                      <code class="ruby"></code>
         | 
| 2743 2821 | 
             
                    </li>
         | 
| 2744 2822 |  | 
| 2745 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2823 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="182">
         | 
| 2746 2824 | 
             
                      <span class="hits">1</span>
         | 
| 2747 2825 |  | 
| 2748 2826 | 
             
                      <code class="ruby">    def parse_question_mark_repeater(group)</code>
         | 
| 2749 2827 | 
             
                    </li>
         | 
| 2750 2828 |  | 
| 2751 | 
            -
                    <li class="covered" data-hits="11" data-linenumber=" | 
| 2829 | 
            +
                    <li class="covered" data-hits="11" data-linenumber="183">
         | 
| 2752 2830 | 
             
                      <span class="hits">11</span>
         | 
| 2753 2831 |  | 
| 2754 2832 | 
             
                      <code class="ruby">      @current_position += 1</code>
         | 
| 2755 2833 | 
             
                    </li>
         | 
| 2756 2834 |  | 
| 2757 | 
            -
                    <li class="covered" data-hits="11" data-linenumber=" | 
| 2835 | 
            +
                    <li class="covered" data-hits="11" data-linenumber="184">
         | 
| 2758 2836 | 
             
                      <span class="hits">11</span>
         | 
| 2759 2837 |  | 
| 2760 2838 | 
             
                      <code class="ruby">      QuestionMarkRepeater.new(group)</code>
         | 
| 2761 2839 | 
             
                    </li>
         | 
| 2762 2840 |  | 
| 2763 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2841 | 
            +
                    <li class="never" data-hits="" data-linenumber="185">
         | 
| 2764 2842 |  | 
| 2765 2843 |  | 
| 2766 2844 | 
             
                      <code class="ruby">    end</code>
         | 
| 2767 2845 | 
             
                    </li>
         | 
| 2768 2846 |  | 
| 2769 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2847 | 
            +
                    <li class="never" data-hits="" data-linenumber="186">
         | 
| 2770 2848 |  | 
| 2771 2849 |  | 
| 2772 2850 | 
             
                      <code class="ruby"></code>
         | 
| 2773 2851 | 
             
                    </li>
         | 
| 2774 2852 |  | 
| 2775 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2853 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="187">
         | 
| 2776 2854 | 
             
                      <span class="hits">1</span>
         | 
| 2777 2855 |  | 
| 2778 2856 | 
             
                      <code class="ruby">    def parse_range_repeater(group)</code>
         | 
| 2779 2857 | 
             
                    </li>
         | 
| 2780 2858 |  | 
| 2781 | 
            -
                    <li class="covered" data-hits="5" data-linenumber=" | 
| 2859 | 
            +
                    <li class="covered" data-hits="5" data-linenumber="188">
         | 
| 2782 2860 | 
             
                      <span class="hits">5</span>
         | 
| 2783 2861 |  | 
| 2784 2862 | 
             
                      <code class="ruby">      match = rest_of_string.match(/\A\{(\d+)?(,)?(\d+)?\}/)</code>
         | 
| 2785 2863 | 
             
                    </li>
         | 
| 2786 2864 |  | 
| 2787 | 
            -
                    <li class="covered" data-hits="5" data-linenumber=" | 
| 2865 | 
            +
                    <li class="covered" data-hits="5" data-linenumber="189">
         | 
| 2788 2866 | 
             
                      <span class="hits">5</span>
         | 
| 2789 2867 |  | 
| 2790 2868 | 
             
                      <code class="ruby">      @current_position += match[0].size</code>
         | 
| 2791 2869 | 
             
                    </li>
         | 
| 2792 2870 |  | 
| 2793 | 
            -
                    <li class="covered" data-hits="5" data-linenumber=" | 
| 2871 | 
            +
                    <li class="covered" data-hits="5" data-linenumber="190">
         | 
| 2794 2872 | 
             
                      <span class="hits">5</span>
         | 
| 2795 2873 |  | 
| 2796 2874 | 
             
                      <code class="ruby">      min = match[1].to_i if match[1]</code>
         | 
| 2797 2875 | 
             
                    </li>
         | 
| 2798 2876 |  | 
| 2799 | 
            -
                    <li class="covered" data-hits="5" data-linenumber=" | 
| 2877 | 
            +
                    <li class="covered" data-hits="5" data-linenumber="191">
         | 
| 2800 2878 | 
             
                      <span class="hits">5</span>
         | 
| 2801 2879 |  | 
| 2802 2880 | 
             
                      <code class="ruby">      has_comma = !match[2].nil?</code>
         | 
| 2803 2881 | 
             
                    </li>
         | 
| 2804 2882 |  | 
| 2805 | 
            -
                    <li class="covered" data-hits="5" data-linenumber=" | 
| 2883 | 
            +
                    <li class="covered" data-hits="5" data-linenumber="192">
         | 
| 2806 2884 | 
             
                      <span class="hits">5</span>
         | 
| 2807 2885 |  | 
| 2808 2886 | 
             
                      <code class="ruby">      max = match[3].to_i if match[3]</code>
         | 
| 2809 2887 | 
             
                    </li>
         | 
| 2810 2888 |  | 
| 2811 | 
            -
                    <li class="covered" data-hits="5" data-linenumber=" | 
| 2889 | 
            +
                    <li class="covered" data-hits="5" data-linenumber="193">
         | 
| 2812 2890 | 
             
                      <span class="hits">5</span>
         | 
| 2813 2891 |  | 
| 2814 2892 | 
             
                      <code class="ruby">      RangeRepeater.new(group, min, has_comma, max)</code>
         | 
| 2815 2893 | 
             
                    </li>
         | 
| 2816 2894 |  | 
| 2817 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2895 | 
            +
                    <li class="never" data-hits="" data-linenumber="194">
         | 
| 2818 2896 |  | 
| 2819 2897 |  | 
| 2820 2898 | 
             
                      <code class="ruby">    end</code>
         | 
| 2821 2899 | 
             
                    </li>
         | 
| 2822 2900 |  | 
| 2823 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2901 | 
            +
                    <li class="never" data-hits="" data-linenumber="195">
         | 
| 2824 2902 |  | 
| 2825 2903 |  | 
| 2826 2904 | 
             
                      <code class="ruby"></code>
         | 
| 2827 2905 | 
             
                    </li>
         | 
| 2828 2906 |  | 
| 2829 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2907 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="196">
         | 
| 2830 2908 | 
             
                      <span class="hits">1</span>
         | 
| 2831 2909 |  | 
| 2832 2910 | 
             
                      <code class="ruby">    def parse_one_time_repeater(group)</code>
         | 
| 2833 2911 | 
             
                    </li>
         | 
| 2834 2912 |  | 
| 2835 | 
            -
                    <li class="covered" data-hits=" | 
| 2836 | 
            -
                      <span class="hits"> | 
| 2913 | 
            +
                    <li class="covered" data-hits="265" data-linenumber="197">
         | 
| 2914 | 
            +
                      <span class="hits">265</span>
         | 
| 2837 2915 |  | 
| 2838 2916 | 
             
                      <code class="ruby">      OneTimeRepeater.new(group)</code>
         | 
| 2839 2917 | 
             
                    </li>
         | 
| 2840 2918 |  | 
| 2841 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2919 | 
            +
                    <li class="never" data-hits="" data-linenumber="198">
         | 
| 2842 2920 |  | 
| 2843 2921 |  | 
| 2844 2922 | 
             
                      <code class="ruby">    end</code>
         | 
| 2845 2923 | 
             
                    </li>
         | 
| 2846 2924 |  | 
| 2847 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2925 | 
            +
                    <li class="never" data-hits="" data-linenumber="199">
         | 
| 2848 2926 |  | 
| 2849 2927 |  | 
| 2850 2928 | 
             
                      <code class="ruby"></code>
         | 
| 2851 2929 | 
             
                    </li>
         | 
| 2852 2930 |  | 
| 2853 | 
            -
                    <li class="covered" data-hits="1" data-linenumber=" | 
| 2931 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="200">
         | 
| 2854 2932 | 
             
                      <span class="hits">1</span>
         | 
| 2855 2933 |  | 
| 2856 2934 | 
             
                      <code class="ruby">    def rest_of_string</code>
         | 
| 2857 2935 | 
             
                    </li>
         | 
| 2858 2936 |  | 
| 2859 | 
            -
                    <li class="covered" data-hits=" | 
| 2860 | 
            -
                      <span class="hits"> | 
| 2937 | 
            +
                    <li class="covered" data-hits="155" data-linenumber="201">
         | 
| 2938 | 
            +
                      <span class="hits">155</span>
         | 
| 2861 2939 |  | 
| 2862 2940 | 
             
                      <code class="ruby">      regexp_string[@current_position..-1]</code>
         | 
| 2863 2941 | 
             
                    </li>
         | 
| 2864 2942 |  | 
| 2865 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2943 | 
            +
                    <li class="never" data-hits="" data-linenumber="202">
         | 
| 2866 2944 |  | 
| 2867 2945 |  | 
| 2868 2946 | 
             
                      <code class="ruby">    end</code>
         | 
| 2869 2947 | 
             
                    </li>
         | 
| 2870 2948 |  | 
| 2871 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2949 | 
            +
                    <li class="never" data-hits="" data-linenumber="203">
         | 
| 2872 2950 |  | 
| 2873 2951 |  | 
| 2874 2952 | 
             
                      <code class="ruby">  end</code>
         | 
| 2875 2953 | 
             
                    </li>
         | 
| 2876 2954 |  | 
| 2877 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2955 | 
            +
                    <li class="never" data-hits="" data-linenumber="204">
         | 
| 2878 2956 |  | 
| 2879 2957 |  | 
| 2880 2958 | 
             
                      <code class="ruby">end</code>
         | 
| 2881 2959 | 
             
                    </li>
         | 
| 2882 2960 |  | 
| 2883 | 
            -
                    <li class="never" data-hits="" data-linenumber=" | 
| 2961 | 
            +
                    <li class="never" data-hits="" data-linenumber="205">
         | 
| 2884 2962 |  | 
| 2885 2963 |  | 
| 2886 2964 | 
             
                      <code class="ruby"></code>
         | 
| @@ -2890,7 +2968,7 @@ | |
| 2890 2968 | 
             
              </pre>
         | 
| 2891 2969 | 
             
            </div>
         | 
| 2892 2970 |  | 
| 2893 | 
            -
                    <div class="source_table" id=" | 
| 2971 | 
            +
                    <div class="source_table" id="7f62a530f44ef896b613d357fee92d31ffb7ede8">
         | 
| 2894 2972 | 
             
              <div class="header">
         | 
| 2895 2973 | 
             
                <h3>lib/regexp-examples/regexp_extensions.rb</h3>
         | 
| 2896 2974 | 
             
                <h4><span class="green">100.0 %</span> covered</h4>
         | 
| @@ -2922,8 +3000,8 @@ | |
| 2922 3000 | 
             
                      <code class="ruby">    def examples</code>
         | 
| 2923 3001 | 
             
                    </li>
         | 
| 2924 3002 |  | 
| 2925 | 
            -
                    <li class="covered" data-hits=" | 
| 2926 | 
            -
                      <span class="hits"> | 
| 3003 | 
            +
                    <li class="covered" data-hits="73" data-linenumber="4">
         | 
| 3004 | 
            +
                      <span class="hits">73</span>
         | 
| 2927 3005 |  | 
| 2928 3006 | 
             
                      <code class="ruby">      partial_examples =</code>
         | 
| 2929 3007 | 
             
                    </li>
         | 
| @@ -2940,20 +3018,20 @@ | |
| 2940 3018 | 
             
                      <code class="ruby">          .parse</code>
         | 
| 2941 3019 | 
             
                    </li>
         | 
| 2942 3020 |  | 
| 2943 | 
            -
                    <li class="covered" data-hits=" | 
| 2944 | 
            -
                      <span class="hits"> | 
| 3021 | 
            +
                    <li class="covered" data-hits="133" data-linenumber="7">
         | 
| 3022 | 
            +
                      <span class="hits">133</span>
         | 
| 2945 3023 |  | 
| 2946 3024 | 
             
                      <code class="ruby">          .map {|repeater| repeater.result}</code>
         | 
| 2947 3025 | 
             
                    </li>
         | 
| 2948 3026 |  | 
| 2949 | 
            -
                    <li class="covered" data-hits=" | 
| 2950 | 
            -
                      <span class="hits"> | 
| 3027 | 
            +
                    <li class="covered" data-hits="69" data-linenumber="8">
         | 
| 3028 | 
            +
                      <span class="hits">69</span>
         | 
| 2951 3029 |  | 
| 2952 3030 | 
             
                      <code class="ruby">      full_examples = RegexpExamples::permutations_of_strings(partial_examples)</code>
         | 
| 2953 3031 | 
             
                    </li>
         | 
| 2954 3032 |  | 
| 2955 | 
            -
                    <li class="covered" data-hits=" | 
| 2956 | 
            -
                      <span class="hits"> | 
| 3033 | 
            +
                    <li class="covered" data-hits="69" data-linenumber="9">
         | 
| 3034 | 
            +
                      <span class="hits">69</span>
         | 
| 2957 3035 |  | 
| 2958 3036 | 
             
                      <code class="ruby">      RegexpExamples::BackReferenceReplacer.new.substitute_backreferences(full_examples)</code>
         | 
| 2959 3037 | 
             
                    </li>
         | 
| @@ -2992,7 +3070,7 @@ | |
| 2992 3070 | 
             
              </pre>
         | 
| 2993 3071 | 
             
            </div>
         | 
| 2994 3072 |  | 
| 2995 | 
            -
                    <div class="source_table" id=" | 
| 3073 | 
            +
                    <div class="source_table" id="0688fc9c3b085e9a6444775c61767c9c5742fb69">
         | 
| 2996 3074 | 
             
              <div class="header">
         | 
| 2997 3075 | 
             
                <h3>lib/regexp-examples/repeaters.rb</h3>
         | 
| 2998 3076 | 
             
                <h4><span class="green">100.0 %</span> covered</h4>
         | 
| @@ -3030,8 +3108,8 @@ | |
| 3030 3108 | 
             
                      <code class="ruby">    def initialize(group)</code>
         | 
| 3031 3109 | 
             
                    </li>
         | 
| 3032 3110 |  | 
| 3033 | 
            -
                    <li class="covered" data-hits=" | 
| 3034 | 
            -
                      <span class="hits"> | 
| 3111 | 
            +
                    <li class="covered" data-hits="290" data-linenumber="5">
         | 
| 3112 | 
            +
                      <span class="hits">290</span>
         | 
| 3035 3113 |  | 
| 3036 3114 | 
             
                      <code class="ruby">      @group = group</code>
         | 
| 3037 3115 | 
             
                    </li>
         | 
| @@ -3054,32 +3132,32 @@ | |
| 3054 3132 | 
             
                      <code class="ruby">    def result(min_repeats, max_repeats)</code>
         | 
| 3055 3133 | 
             
                    </li>
         | 
| 3056 3134 |  | 
| 3057 | 
            -
                    <li class="covered" data-hits=" | 
| 3058 | 
            -
                      <span class="hits"> | 
| 3135 | 
            +
                    <li class="covered" data-hits="290" data-linenumber="9">
         | 
| 3136 | 
            +
                      <span class="hits">290</span>
         | 
| 3059 3137 |  | 
| 3060 3138 | 
             
                      <code class="ruby">      group_results = @group.result[0 .. MaxGroupResults-1]</code>
         | 
| 3061 3139 | 
             
                    </li>
         | 
| 3062 3140 |  | 
| 3063 | 
            -
                    <li class="covered" data-hits=" | 
| 3064 | 
            -
                      <span class="hits"> | 
| 3141 | 
            +
                    <li class="covered" data-hits="290" data-linenumber="10">
         | 
| 3142 | 
            +
                      <span class="hits">290</span>
         | 
| 3065 3143 |  | 
| 3066 3144 | 
             
                      <code class="ruby">      results = []</code>
         | 
| 3067 3145 | 
             
                    </li>
         | 
| 3068 3146 |  | 
| 3069 | 
            -
                    <li class="covered" data-hits=" | 
| 3070 | 
            -
                      <span class="hits"> | 
| 3147 | 
            +
                    <li class="covered" data-hits="290" data-linenumber="11">
         | 
| 3148 | 
            +
                      <span class="hits">290</span>
         | 
| 3071 3149 |  | 
| 3072 3150 | 
             
                      <code class="ruby">      min_repeats.upto(max_repeats) do |repeats|</code>
         | 
| 3073 3151 | 
             
                    </li>
         | 
| 3074 3152 |  | 
| 3075 | 
            -
                    <li class="covered" data-hits=" | 
| 3076 | 
            -
                      <span class="hits"> | 
| 3153 | 
            +
                    <li class="covered" data-hits="320" data-linenumber="12">
         | 
| 3154 | 
            +
                      <span class="hits">320</span>
         | 
| 3077 3155 |  | 
| 3078 3156 | 
             
                      <code class="ruby">        group_results.each do |group_result|</code>
         | 
| 3079 3157 | 
             
                    </li>
         | 
| 3080 3158 |  | 
| 3081 | 
            -
                    <li class="covered" data-hits=" | 
| 3082 | 
            -
                      <span class="hits"> | 
| 3159 | 
            +
                    <li class="covered" data-hits="434" data-linenumber="13">
         | 
| 3160 | 
            +
                      <span class="hits">434</span>
         | 
| 3083 3161 |  | 
| 3084 3162 | 
             
                      <code class="ruby">          results << group_result * repeats</code>
         | 
| 3085 3163 | 
             
                    </li>
         | 
| @@ -3096,8 +3174,8 @@ | |
| 3096 3174 | 
             
                      <code class="ruby">      end</code>
         | 
| 3097 3175 | 
             
                    </li>
         | 
| 3098 3176 |  | 
| 3099 | 
            -
                    <li class="covered" data-hits=" | 
| 3100 | 
            -
                      <span class="hits"> | 
| 3177 | 
            +
                    <li class="covered" data-hits="290" data-linenumber="16">
         | 
| 3178 | 
            +
                      <span class="hits">290</span>
         | 
| 3101 3179 |  | 
| 3102 3180 | 
             
                      <code class="ruby">      results.uniq</code>
         | 
| 3103 3181 | 
             
                    </li>
         | 
| @@ -3132,8 +3210,8 @@ | |
| 3132 3210 | 
             
                      <code class="ruby">    def initialize(group)</code>
         | 
| 3133 3211 | 
             
                    </li>
         | 
| 3134 3212 |  | 
| 3135 | 
            -
                    <li class="covered" data-hits=" | 
| 3136 | 
            -
                      <span class="hits"> | 
| 3213 | 
            +
                    <li class="covered" data-hits="265" data-linenumber="22">
         | 
| 3214 | 
            +
                      <span class="hits">265</span>
         | 
| 3137 3215 |  | 
| 3138 3216 | 
             
                      <code class="ruby">      super</code>
         | 
| 3139 3217 | 
             
                    </li>
         | 
| @@ -3156,8 +3234,8 @@ | |
| 3156 3234 | 
             
                      <code class="ruby">    def result</code>
         | 
| 3157 3235 | 
             
                    </li>
         | 
| 3158 3236 |  | 
| 3159 | 
            -
                    <li class="covered" data-hits=" | 
| 3160 | 
            -
                      <span class="hits"> | 
| 3237 | 
            +
                    <li class="covered" data-hits="265" data-linenumber="26">
         | 
| 3238 | 
            +
                      <span class="hits">265</span>
         | 
| 3161 3239 |  | 
| 3162 3240 | 
             
                      <code class="ruby">      super(1, 1)</code>
         | 
| 3163 3241 | 
             
                    </li>
         | 
| @@ -3478,13 +3556,13 @@ | |
| 3478 3556 | 
             
              </pre>
         | 
| 3479 3557 | 
             
            </div>
         | 
| 3480 3558 |  | 
| 3481 | 
            -
                    <div class="source_table" id=" | 
| 3559 | 
            +
                    <div class="source_table" id="953f94f8f5f8bad7e1fa800f942a74b781f8fa1c">
         | 
| 3482 3560 | 
             
              <div class="header">
         | 
| 3483 3561 | 
             
                <h3>spec/regexp-examples_spec.rb</h3>
         | 
| 3484 3562 | 
             
                <h4><span class="green">100.0 %</span> covered</h4>
         | 
| 3485 3563 | 
             
                <div>
         | 
| 3486 | 
            -
                  <b> | 
| 3487 | 
            -
                  <span class="green"><b> | 
| 3564 | 
            +
                  <b>34</b> relevant lines. 
         | 
| 3565 | 
            +
                  <span class="green"><b>34</b> lines covered</span> and
         | 
| 3488 3566 | 
             
                  <span class="red"><b>0</b> lines missed.</span>
         | 
| 3489 3567 | 
             
                </div>
         | 
| 3490 3568 | 
             
              </div>
         | 
| @@ -3504,32 +3582,32 @@ | |
| 3504 3582 | 
             
                      <code class="ruby">  def self.examples_exist_and_match(*regexps)</code>
         | 
| 3505 3583 | 
             
                    </li>
         | 
| 3506 3584 |  | 
| 3507 | 
            -
                    <li class="covered" data-hits=" | 
| 3508 | 
            -
                      <span class="hits"> | 
| 3585 | 
            +
                    <li class="covered" data-hits="10" data-linenumber="3">
         | 
| 3586 | 
            +
                      <span class="hits">10</span>
         | 
| 3509 3587 |  | 
| 3510 3588 | 
             
                      <code class="ruby">    regexps.each do |regexp|</code>
         | 
| 3511 3589 | 
             
                    </li>
         | 
| 3512 3590 |  | 
| 3513 | 
            -
                    <li class="covered" data-hits=" | 
| 3514 | 
            -
                      <span class="hits"> | 
| 3591 | 
            +
                    <li class="covered" data-hits="69" data-linenumber="4">
         | 
| 3592 | 
            +
                      <span class="hits">69</span>
         | 
| 3515 3593 |  | 
| 3516 3594 | 
             
                      <code class="ruby">      it do</code>
         | 
| 3517 3595 | 
             
                    </li>
         | 
| 3518 3596 |  | 
| 3519 | 
            -
                    <li class="covered" data-hits=" | 
| 3520 | 
            -
                      <span class="hits"> | 
| 3597 | 
            +
                    <li class="covered" data-hits="69" data-linenumber="5">
         | 
| 3598 | 
            +
                      <span class="hits">69</span>
         | 
| 3521 3599 |  | 
| 3522 3600 | 
             
                      <code class="ruby">        regexp_examples = regexp.examples</code>
         | 
| 3523 3601 | 
             
                    </li>
         | 
| 3524 3602 |  | 
| 3525 | 
            -
                    <li class="covered" data-hits=" | 
| 3526 | 
            -
                      <span class="hits"> | 
| 3603 | 
            +
                    <li class="covered" data-hits="69" data-linenumber="6">
         | 
| 3604 | 
            +
                      <span class="hits">69</span>
         | 
| 3527 3605 |  | 
| 3528 3606 | 
             
                      <code class="ruby">        expect(regexp_examples).not_to be_empty</code>
         | 
| 3529 3607 | 
             
                    </li>
         | 
| 3530 3608 |  | 
| 3531 | 
            -
                    <li class="covered" data-hits=" | 
| 3532 | 
            -
                      <span class="hits"> | 
| 3609 | 
            +
                    <li class="covered" data-hits="234" data-linenumber="7">
         | 
| 3610 | 
            +
                      <span class="hits">234</span>
         | 
| 3533 3611 |  | 
| 3534 3612 | 
             
                      <code class="ruby">        regexp_examples.each { |example| expect(example).to match(/\A(?:#{regexp.source})\z/) }</code>
         | 
| 3535 3613 | 
             
                    </li>
         | 
| @@ -4281,30 +4359,144 @@ | |
| 4281 4359 | 
             
                    <li class="never" data-hits="" data-linenumber="132">
         | 
| 4282 4360 |  | 
| 4283 4361 |  | 
| 4284 | 
            -
                      <code class="ruby">        /\c | 
| 4362 | 
            +
                      <code class="ruby">        /\c?/,</code>
         | 
| 4285 4363 | 
             
                    </li>
         | 
| 4286 4364 |  | 
| 4287 4365 | 
             
                    <li class="never" data-hits="" data-linenumber="133">
         | 
| 4288 4366 |  | 
| 4289 4367 |  | 
| 4290 | 
            -
                      <code class="ruby"> | 
| 4368 | 
            +
                      <code class="ruby">        /\C-a/,</code>
         | 
| 4291 4369 | 
             
                    </li>
         | 
| 4292 4370 |  | 
| 4293 4371 | 
             
                    <li class="never" data-hits="" data-linenumber="134">
         | 
| 4294 4372 |  | 
| 4295 4373 |  | 
| 4296 | 
            -
                      <code class="ruby"> | 
| 4374 | 
            +
                      <code class="ruby">        /\C-&/</code>
         | 
| 4297 4375 | 
             
                    </li>
         | 
| 4298 4376 |  | 
| 4299 4377 | 
             
                    <li class="never" data-hits="" data-linenumber="135">
         | 
| 4300 4378 |  | 
| 4301 4379 |  | 
| 4302 | 
            -
                      <code class="ruby"> | 
| 4380 | 
            +
                      <code class="ruby">      )</code>
         | 
| 4303 4381 | 
             
                    </li>
         | 
| 4304 4382 |  | 
| 4305 4383 | 
             
                    <li class="never" data-hits="" data-linenumber="136">
         | 
| 4306 4384 |  | 
| 4307 4385 |  | 
| 4386 | 
            +
                      <code class="ruby">    end</code>
         | 
| 4387 | 
            +
                    </li>
         | 
| 4388 | 
            +
                  
         | 
| 4389 | 
            +
                    <li class="never" data-hits="" data-linenumber="137">
         | 
| 4390 | 
            +
                      
         | 
| 4391 | 
            +
                      
         | 
| 4392 | 
            +
                      <code class="ruby"></code>
         | 
| 4393 | 
            +
                    </li>
         | 
| 4394 | 
            +
                  
         | 
| 4395 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="138">
         | 
| 4396 | 
            +
                      <span class="hits">1</span>
         | 
| 4397 | 
            +
                      
         | 
| 4398 | 
            +
                      <code class="ruby">    context "for escape sequences" do</code>
         | 
| 4399 | 
            +
                    </li>
         | 
| 4400 | 
            +
                  
         | 
| 4401 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="139">
         | 
| 4402 | 
            +
                      <span class="hits">1</span>
         | 
| 4403 | 
            +
                      
         | 
| 4404 | 
            +
                      <code class="ruby">      examples_exist_and_match(</code>
         | 
| 4405 | 
            +
                    </li>
         | 
| 4406 | 
            +
                  
         | 
| 4407 | 
            +
                    <li class="never" data-hits="" data-linenumber="140">
         | 
| 4408 | 
            +
                      
         | 
| 4409 | 
            +
                      
         | 
| 4410 | 
            +
                      <code class="ruby">        /\x42/,</code>
         | 
| 4411 | 
            +
                    </li>
         | 
| 4412 | 
            +
                  
         | 
| 4413 | 
            +
                    <li class="never" data-hits="" data-linenumber="141">
         | 
| 4414 | 
            +
                      
         | 
| 4415 | 
            +
                      
         | 
| 4416 | 
            +
                      <code class="ruby">        /\x1D/,</code>
         | 
| 4417 | 
            +
                    </li>
         | 
| 4418 | 
            +
                  
         | 
| 4419 | 
            +
                    <li class="never" data-hits="" data-linenumber="142">
         | 
| 4420 | 
            +
                      
         | 
| 4421 | 
            +
                      
         | 
| 4422 | 
            +
                      <code class="ruby">        /\x3word/,</code>
         | 
| 4423 | 
            +
                    </li>
         | 
| 4424 | 
            +
                  
         | 
| 4425 | 
            +
                    <li class="never" data-hits="" data-linenumber="143">
         | 
| 4426 | 
            +
                      
         | 
| 4427 | 
            +
                      
         | 
| 4428 | 
            +
                      <code class="ruby">        /#{"\x80".force_encoding("ASCII-8BIT")}/</code>
         | 
| 4429 | 
            +
                    </li>
         | 
| 4430 | 
            +
                  
         | 
| 4431 | 
            +
                    <li class="never" data-hits="" data-linenumber="144">
         | 
| 4432 | 
            +
                      
         | 
| 4433 | 
            +
                      
         | 
| 4434 | 
            +
                      <code class="ruby">      )</code>
         | 
| 4435 | 
            +
                    </li>
         | 
| 4436 | 
            +
                  
         | 
| 4437 | 
            +
                    <li class="never" data-hits="" data-linenumber="145">
         | 
| 4438 | 
            +
                      
         | 
| 4439 | 
            +
                      
         | 
| 4440 | 
            +
                      <code class="ruby">    end</code>
         | 
| 4441 | 
            +
                    </li>
         | 
| 4442 | 
            +
                  
         | 
| 4443 | 
            +
                    <li class="never" data-hits="" data-linenumber="146">
         | 
| 4444 | 
            +
                      
         | 
| 4445 | 
            +
                      
         | 
| 4446 | 
            +
                      <code class="ruby"></code>
         | 
| 4447 | 
            +
                    </li>
         | 
| 4448 | 
            +
                  
         | 
| 4449 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="147">
         | 
| 4450 | 
            +
                      <span class="hits">1</span>
         | 
| 4451 | 
            +
                      
         | 
| 4452 | 
            +
                      <code class="ruby">    context "for unicode sequences" do</code>
         | 
| 4453 | 
            +
                    </li>
         | 
| 4454 | 
            +
                  
         | 
| 4455 | 
            +
                    <li class="covered" data-hits="1" data-linenumber="148">
         | 
| 4456 | 
            +
                      <span class="hits">1</span>
         | 
| 4457 | 
            +
                      
         | 
| 4458 | 
            +
                      <code class="ruby">      examples_exist_and_match(</code>
         | 
| 4459 | 
            +
                    </li>
         | 
| 4460 | 
            +
                  
         | 
| 4461 | 
            +
                    <li class="never" data-hits="" data-linenumber="149">
         | 
| 4462 | 
            +
                      
         | 
| 4463 | 
            +
                      
         | 
| 4464 | 
            +
                      <code class="ruby">      /\u6829/,</code>
         | 
| 4465 | 
            +
                    </li>
         | 
| 4466 | 
            +
                  
         | 
| 4467 | 
            +
                    <li class="never" data-hits="" data-linenumber="150">
         | 
| 4468 | 
            +
                      
         | 
| 4469 | 
            +
                      
         | 
| 4470 | 
            +
                      <code class="ruby">      /\uabcd/</code>
         | 
| 4471 | 
            +
                    </li>
         | 
| 4472 | 
            +
                  
         | 
| 4473 | 
            +
                    <li class="never" data-hits="" data-linenumber="151">
         | 
| 4474 | 
            +
                      
         | 
| 4475 | 
            +
                      
         | 
| 4476 | 
            +
                      <code class="ruby">      )</code>
         | 
| 4477 | 
            +
                    </li>
         | 
| 4478 | 
            +
                  
         | 
| 4479 | 
            +
                    <li class="never" data-hits="" data-linenumber="152">
         | 
| 4480 | 
            +
                      
         | 
| 4481 | 
            +
                      
         | 
| 4482 | 
            +
                      <code class="ruby">    end</code>
         | 
| 4483 | 
            +
                    </li>
         | 
| 4484 | 
            +
                  
         | 
| 4485 | 
            +
                    <li class="never" data-hits="" data-linenumber="153">
         | 
| 4486 | 
            +
                      
         | 
| 4487 | 
            +
                      
         | 
| 4488 | 
            +
                      <code class="ruby"></code>
         | 
| 4489 | 
            +
                    </li>
         | 
| 4490 | 
            +
                  
         | 
| 4491 | 
            +
                    <li class="never" data-hits="" data-linenumber="154">
         | 
| 4492 | 
            +
                      
         | 
| 4493 | 
            +
                      
         | 
| 4494 | 
            +
                      <code class="ruby">  end</code>
         | 
| 4495 | 
            +
                    </li>
         | 
| 4496 | 
            +
                  
         | 
| 4497 | 
            +
                    <li class="never" data-hits="" data-linenumber="155">
         | 
| 4498 | 
            +
                      
         | 
| 4499 | 
            +
                      
         | 
| 4308 4500 | 
             
                      <code class="ruby">end</code>
         | 
| 4309 4501 | 
             
                    </li>
         | 
| 4310 4502 |  |