re = /(.*?)(filter: {[^}]*})(.*)/m
str = '# input
query: "\\n mutation deepCopyIxWithKm($creator: String!, $sourceTenant: String!, $targetTenant: String!, $assetId: String!, $deepCopyKm: Boolean!) {\\n deepCopyIx(\\n creator: $creator\\n targetTenantId: $targetTenant\\n assetId: $assetId\\n sourceTenantId: $sourceTenant\\n isDeepCopyKM: $deepCopyKm\\n ) {\\n ix {\\n id\\n }\\n }\\n}\\n "
# expected output
{"query":"query OpName { itemCollection (filter: { text: "aa aa aa", text2: "aa aa"}){ group { slug text text2 } } }"}'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html