fork(1) download
  1. my_string = "SELECT * FROM users WHERE first_name = 'first name value'"
  2. my_string2 = "SELECT * FROM users WHERE first_name = 'first\"s name value'"
  3. my_string3 = "SELECT * FROM users WHERE first_name = 'first\\'s name value'"
  4.  
  5. rx = /first_name = (?:'(?<val>[^'\\]*(?:\\.[^'\\]*)*)'|"(?<val>[^"\\]*(?:\\.[^"\\]*)*"))/i
  6.  
  7. puts rx.match my_string
  8. puts rx.match my_string2
  9. puts rx.match my_string3
Success #stdin #stdout 0.05s 9744KB
stdin
Standard input is empty
stdout
first_name = 'first name value'
first_name = 'first"s name value'
first_name = 'first\'s name value'