Sha256: 11d53e656cf653a812112cee67c9d10674ae6aadc512e8d75bafec0503ba1d51

Contents?: true

Size: 671 Bytes

Versions: 1

Compression:

Stored size: 671 Bytes

Contents

# Ruby to JavaScript regular expression converter
class JSRegexp
  # Convert Ruby Regexp to JavaSript RegExp format
  #
  # @params regexp [Regexp, String] a Ruby regular expression
  # @return [String] JavaSript regular expression represented as a string
  def self.convert(regexp)
    regexp_str = regexp.is_a?(Regexp) ? regexp.inspect : regexp.to_s
    regexp_str
      .sub(/^\// , '')
      .sub(/\/[a-z]*$/ , '')
      .sub('\\A', '^')
      .sub('\\G', '^')
      .sub('\\Z', '$')
      .sub('\\z', '$')
      .gsub('\\R', '')
      .gsub('\\a', '')
      .gsub('\\e', '')
      .gsub(/\(\?#.+\)/, '')
      .gsub(/\(\?-\w+:/, '(')
      .gsub(/\s/, '')
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jsregexp-0.1.3 lib/jsregexp/jsregexp.rb