From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.1 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 8299E1F6A9 for ; Sat, 5 Jan 2019 07:24:00 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 91C361219D8; Sat, 5 Jan 2019 16:23:56 +0900 (JST) Received: from o1678948x4.outbound-mail.sendgrid.net (o1678948x4.outbound-mail.sendgrid.net [167.89.48.4]) by neon.ruby-lang.org (Postfix) with ESMTPS id 9110412111A for ; Sat, 5 Jan 2019 16:23:53 +0900 (JST) Received: by filter0066p3iad2.sendgrid.net with SMTP id filter0066p3iad2-25993-5C305B85-E 2019-01-05 07:23:49.740743405 +0000 UTC m=+109155.468001461 Received: from herokuapp.com (ec2-54-163-200-47.compute-1.amazonaws.com [54.163.200.47]) by ismtpd0014p1iad2.sendgrid.net (SG) with ESMTP id aot5uhiaSV6nMCPiZsVSNw Sat, 05 Jan 2019 07:23:49.706 +0000 (UTC) Date: Sat, 05 Jan 2019 07:23:50 +0000 (UTC) From: macdevign@gmail.com To: ruby-core@ruby-lang.org Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 66318 X-Redmine-Project: ruby-trunk X-Redmine-Issue-Id: 15496 X-Redmine-Issue-Author: macdevign X-Redmine-Sender: macdevign X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-SG-EID: ync6xU2WACa70kv/Ymy4QrNMhiuLXJG8OTL2vJD1yS4ImhToWf8DDoHEz6uqaIweY1N7Coi5WDHuH3 FJf0d8i3rcyOfY6jt4DIypb8Rz8A+/HnO/jn4lEG4zMD031BbH4GbLMku4/fOcrmegtbq4U/HoOmuH zqW1iR4eNg1hW35eIc0QklrkknwSID5jobNxuxBJTUdZvSXG31XFW6IoXQ== X-ML-Name: ruby-core X-Mail-Count: 90894 Subject: [ruby-core:90894] [Ruby trunk Feature#15496] Extract between string as standard String api X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzE1NDk2IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWFjZGV2aWduIChNYWNkZXZpZ24gbWFj KS4KCgpkdWVyc3QgKE1hcnRpbiBEw7xyc3QpIHdyb3RlOgo+IG1hY2RldmlnbiAoTWFjZGV2aWdu IG1hYykgd3JvdGU6Cj4gCj4gPiBHaXZlbiB0aGF0IHN0cmluZyAiYmV0d2VlbiIgZXh0cmFjdGlv biBpcyBzdWNoIGEgY29tbW9uIG9wZXJhdGlvbiwKPiAKPiBDYW4geW91IGJhY2sgdGhhdCB1cCB3 aXRoIHNvbWUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi9kYXRhPyBGb3IgZXhhbXBsZSwgZG8geW91 IGtub3cgb3RoZXIgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzIHRoYXQgaGF2ZSBzdWNoIGEgZnVuY3Rp b24vbWV0aG9kPwo+IAo+IEkgaGF2ZW4ndCBoYWQgdGhlIG5lZWQgZm9yIHN1Y2ggYSBtZXRob2Qs IGFuZCB1c2UgY2FzZXMgSSBjYW4gdGhpbmsgb2YgdmVyeSBxdWlja2x5IG5lZWQgYWRkaXRpb25h bCBvciBkaWZmZXJlbnQgcGFyYW1ldGVycyAoc3VjaCBhcyB4dGggb2NjdXJyZW5jZSwgYmV0d2Vl biAoUmVnZXhwKSBwYXR0ZXJucyByYXRoZXIgdGhhbiBzaW1wbGUgc3RyaW5ncywgYmVmb3JlIG9y IGFmdGVyIGEgc3RyaW5nLC4uLiksIHdoaWNoIHN1Z2dlc3RzIHRvIG1lIHRoYXQgc29sdmluZyB0 aGlzIHNwZWNpZmljIHByb2JsZW0gd2l0aCB0aGUgZ2VuZXJhbCByZWd1bGFyIGV4cHJlc3Npb24g ZnVuY3Rpb25hbGl0eSBhbHJlYWR5IGluIFJ1YnkuCgpZZXMsIEkgYWdyZWUgdGhhdCB0aGVyZSBp cyByZWdleCB0aGF0IGNhbiBkbyB0aGUgd29yayBpbiBSdWJ5LgoKSSB1c2UgaXQgcXVpdGUgb2Z0 ZW4gaW4gZGF0YSBzY3JhcGluZyBhbmQgb2Z0biB3b25kZXIgd2h5IG5lZWQgdG8gcmVzb3J0IHRv IHJlZ2V4IGFuZCB3b3JyeSBhYm91dCBlc2NhcGluZyByZWdleCBjaGFyYWN0ZXIgPwpUaGVyZSBp cyBtYW55IHdheXMgdG8gZG8gdGhlIGV4dHJhY3Rpb24gKGVnIHJlZ2V4KSBidXQgaWYgdGhlcmUg aXMgc3RhbmRhcmQgd2F5IGFuZCBjb252ZW5pZW50IHdheSwgSSB3b25kZXIgd2h5IHJlaW52ZW50 IG91ciBvd24gPyAgSSBsaWtlIHRoZSB3YXkgUnVieSBwcm92aWRlIHVzIHRoZSBjcmVhdGl2aXR5 IHRvIHNvbHZlIHRoZSBwcm9ibGVtLCBidXQgc3VjaCBzaW1wbGUgImNvbW1vbiIgdGFzayBzaG91 bGQgYmUgc2ltcGxlciA6fQoKQ29tcGFyZSB0byB0aGUgb3RoZXIgbGFuZ3VhZ2VzLCBJIGJlbGll dmUgUnVieSBhbmQgUHl0aG9uIGFyZSBvbmUgb2YgdGhvc2Ugc2NyaXB0aW5nIGxhbmd1YWdlcyBj b21tb25seSB1c2VkIGZvciBkYXRhIHNjcmFwaW5nLCBhbmQgaXQgd2lsbCBoZWxwIGlmIHRoZXJl IGlzIHNpbXBsZSBtZXRob2QgZmFjaWxpdGF0ZSBzdWNoIGV4dHJhY3Rpb24uCgpKdXN0IGdvb2ds aW5nIHRoZSBmb3IgImV4dHJhY3QgYmV0d2VlbiAiIGZvciBsYW5ndWFnZSBzdWNoIGFzIHB5dGhv biwgamF2YXNjcmlwdCwgamF2YSwgZXRjLCBvbmUgY2FuIHNlZSB0aGlzIGlzIGNvbW1vbiBxdWVz dGlvbiwKCklmIG90aGVyIGxhbmd1YWdlcyBkaWRuJ3QgcHJvdmlkZSBpdCwgcHJvYmFibHkgUnVi eSBjYW4gc2V0IHRoZSBjYXRhbHlzdCBmb3Igb3RoZXIgbGFuZ3VhZ2UgdG8gaW5jbHVkZSBpdCA/ CgoKUmVhZGFiaWxpdHkgd2lzZSwgZXh0cmFjdGlvbiB0aHJvdWdoIG1ldGhvZCBzZWVtcyBlYXNp ZXIgb24gdGhlIGV5ZXMsIGJ1dCB0aGF0IGNvdWxkIGJlIGp1c3QgbWUgOn0KCiAgIlRoZSBxdWlj ayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2ciWy9qdW1wcyguKylkb2cvLDFdICAg IyByZWdleAogICJUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nIi5i ZXR3ZWVuKCJqdW1wcyIsICJkb2ciKSAgICMgbWV0aG9kCgp0aGFuawoKCgoKCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAjMTU0OTY6IEV4dHJhY3QgYmV0 d2VlbiBzdHJpbmcgYXMgc3RhbmRhcmQgU3RyaW5nIGFwaQpodHRwczovL2J1Z3MucnVieS1sYW5n Lm9yZy9pc3N1ZXMvMTU0OTYjY2hhbmdlLTc2MDgxCgoqIEF1dGhvcjogbWFjZGV2aWduIChNYWNk ZXZpZ24gbWFjKQoqIFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKKiBBc3NpZ25lZTog CiogVGFyZ2V0IHZlcnNpb246IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCkkgY291bGQgbm90IGZpbmQgdGhlIGEgc2ltcGxlIFN0cmluZyBhcGkgdG8gZXh0cmFjdCB0 aGUgc3RyaW5nIGJldHdlZW4gdHdvIHN0cmluZywgYW5kIEkgbm90aWNlIHRoYXQgbWFueSBmYWNl IHRoZSBzYW1lIGlzc3VlIGFuZCBlbmR1cCByb2xsaW5nIHRoZWlyIG93biBzb2x1dGlvbnMgKGVn IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzk2NjE0NzgvaG93LXRvLXJldHVy bi10aGUtc3Vic3RyaW5nLW9mLWEtc3RyaW5nLWJldHdlZW4tdHdvLXN0cmluZ3MtaW4tcnVieSku IAoKR2l2ZW4gdGhhdCBzdHJpbmcgImJldHdlZW4iIGV4dHJhY3Rpb24gaXMgc3VjaCBhIGNvbW1v biBvcGVyYXRpb24sIHdpbGwgYWRkaW5nIGEgZm9jdXNlZCBhbmQgc2ltcGxpZmllZCBTdHJpbmcg bWV0aG9kICBtYWtlIGNvZGluZyBwbGVhc2FudCA/CgpUaGlzIGlzIG15IHNvbHV0aW9uIGJ1dCBw cm9iYWJseSBzb21lb25lIGNhbiBwcm92aWRlIGJldHRlciBhbmQgZWZmaWNpZW50IGltcGxlbWVu dGF0aW9uLgoKfn5+CiAgIyBzZWxmOiBTdHJpbmcgaW5zdGFuY2UsIAogICMgZnJvbTogZmlyc3Qg J2Zyb20nIFN0cmluZyAgCiAgIyB0bzogIGZpcnN0ICd0bycgU3RyaW5nIGZvdW5kIGFmdGVyICdm cm9tJwogICMgcmV0dXJuIHN0cmluZyBiZXR3ZWVuIGZyb20gYW5kIHRvLCB3aGljaCBleGNsdWRl IHRoZSBhcmd1bWVudCwgbmlsIG90aGVyd2lzZS4KCiAgZGVmIGJldHdlZW4oZnJvbSwgdG8pCiAg ICAgIGZyb21faWR4ID0gc2VsZi5pbmRleChmcm9tKSYuKyhmcm9tLmxlbmd0aCkKICAgICAgaWYg ZnJvbV9pZHgKICAgICAgICB0b19pZHggPSBzZWxmLmluZGV4KHRvLCBmcm9tX2lkeCkKICAgICAg ICByZXR1cm4gc2VsZltmcm9tX2lkeC4uLnRvX2lkeF0gaWYgdG9faWR4CiAgICAgIGVuZAogICAg ICBuaWwKICAgIGVuZAp+fn4KClRlc3QgY2FzZQoKIkhlbGxvIHdvcmxkIi5iZXR3ZWVuKCJlbGwi LCAibGQiKSA9PiAibyB3b3IiCiJUZXN0aW5nIDEyMyIuYmV0d2VlbigiVGUiLCAiMTIzIikgPT4g InN0aW5nICIKCgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCg==