Class: JSRegexp

Inherits:
Object
  • Object
show all
Defined in:
lib/jsregexp/jsregexp.rb,
lib/jsregexp/version.rb

Overview

Ruby to JavaScript regular expression converter

Constant Summary collapse

VERSION =

Gem version

'0.1.3'.freeze

Class Method Summary collapse

Class Method Details

.convert(regexp) ⇒ String

Convert Ruby Regexp to JavaSript RegExp format

Returns:

  • (String)

    JavaSript regular expression represented as a string



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/jsregexp/jsregexp.rb', line 7

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