Method: Interscript::Interpreter::Stage#build_regexp

Defined in:
lib/interscript/interpreter.rb

#build_regexp(r) ⇒ Object



155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/interscript/interpreter.rb', line 155

def build_regexp(r)
  from = build_item(r.from, :re)
  before = build_item(r.before, :re) if r.before
  after = build_item(r.after, :re) if r.after
  not_before = build_item(r.not_before, :re) if r.not_before
  not_after = build_item(r.not_after, :re) if r.not_after

  re = ""
  re += "(?<=#{before})" if before
  re += "(?<!#{not_before})" if not_before
  re += from
  re += "(?!#{not_after})" if not_after
  re += "(?=#{after})" if after
  re
end