Sha256: e7f060301005740c75d7062909c79f21cab22537ece18fb253dcec858763cd10

Contents?: true

Size: 335 Bytes

Versions: 20

Compression:

Stored size: 335 Bytes

Contents

class Regexp

  # Returns the number of backreferencing subexpressions.
  #
  #   /(a)(b)(c)/.arity  #=> 3
  #   /(a(b(c)))/.arity  #=> 3
  #
  # Note that this is not perfect, especially with regards to \x
  # and embedded comments.
  #
  # CREDIT: Trans

  def arity
    source.scan( /(?!\\)[(](?!\?[#=:!>-imx])/ ).length
  end

end

Version data entries

20 entries across 19 versions & 2 rubygems

Version Path
facets-glimmer-3.2.0 lib/core/facets/regexp/arity.rb
facets-3.1.0 lib/core/facets/regexp/arity.rb
facets-3.0.0 lib/core/facets/regexp/arity.rb
facets-2.9.3 lib/core/facets/regexp/arity.rb
facets-2.9.2 src/core/facets/regexp/arity.rb
facets-2.9.2 lib/core/facets/regexp/arity.rb
facets-2.9.1 lib/core/facets/regexp/arity.rb
facets-2.9.0 lib/core/facets/regexp/arity.rb
facets-2.9.0.pre.2 lib/core/facets/regexp/arity.rb
facets-2.9.0.pre.1 lib/core/facets/regexp/arity.rb
facets-2.8.4 lib/core/facets/regexp/arity.rb
facets-2.8.3 lib/core/facets/regexp/arity.rb
facets-2.8.2 lib/core/facets/regexp/arity.rb
facets-2.8.1 lib/core/facets/regexp/arity.rb
facets-2.8.0 lib/core/facets/regexp/arity.rb
facets-2.7.0 lib/core/facets/regexp/arity.rb
facets-2.6.0 lib/core/facets/regexp/arity.rb
facets-2.5.0 lib/core/facets/regexp/arity.rb
facets-2.5.1 lib/core/facets/regexp/arity.rb
facets-2.5.2 lib/core/facets/regexp/arity.rb