Feature #12898
closedString#match? method in addition to Regexp#match?
Description
Ruby 2.4 introduces Regexp#match?
. There should be an accompanying String#match?
method.
Updated by shyouhei (Shyouhei Urabe) about 8 years ago
Stefan Schüßler wrote:
Ruby 2.4 introduces
Regexp#match?
. There should be an accompanyingString#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) about 8 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 aRegexp
(if it isn’t already one), then invokes itsmatch?
method on str.
Returns a (...)
Updated by herwin (Herwin W) about 8 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) about 8 years ago
Accepted.
Matz.
Updated by nobu (Nobuyoshi Nakada) about 8 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 herwin@snt.utwente.nl.
[Fix GH-1483] [Feature #12898]