Project

General

Profile

Actions

Feature #12898

closed

String#match? method in addition to Regexp#match?

Added by sos4nt (Stefan Schüßler) over 7 years ago. Updated over 7 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:77908]

Description

Ruby 2.4 introduces Regexp#match?. There should be an accompanying String#match? method.

Updated by shyouhei (Shyouhei Urabe) over 7 years ago

Stefan Schüßler wrote:

Ruby 2.4 introduces Regexp#match?. There should be an accompanying String#match? method.

Can you be a bit more verbose here? You mean a String instance method named "match?" that takes a Regexp instance? Please show us in detail why you need that.

Updated by sos4nt (Stefan Schüßler) over 7 years ago

Shyouhei Urabe wrote:

You mean a String instance method named "match?" that takes a Regexp instance?

Yes, exactly. The methods to match a string with a regexp (or vice versa) are present in both classes:

Regexp#=~ and String#=~
Regexp#match and String#match

With Ruby 2.4 there's Regexp#match? and it would only be consistent to implement String#match? as well.

I would expect String#match? to work equivalent to String#=~ and String#match, i.e.

str.match?(pattern) -> true or false
str.match?(pattern,pos) -> true or false
Converts pattern to a Regexp (if it isn’t already one), then invokes its match? method on str.
Returns a (...)

Updated by herwin (Herwin W) over 7 years ago

I just opened a pull request to add this behaviour: https://github.com/ruby/ruby/pull/1483

It surprised me that his behaviour wasn't implemented.

Updated by matz (Yukihiro Matsumoto) over 7 years ago

Accepted.

Matz.

Actions #5

Updated by nobu (Nobuyoshi Nakada) over 7 years ago

  • Status changed from Open to Closed

Applied in changeset r57053.


String#match? and Symbol#match?

  • string.c (rb_str_match_m_p): inverse of Regexp#match?. based on
    the patch by Herwin Weststrate .
    [Fix GH-1483] [Feature #12898]
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0