diff --git a/lib/liquid/lexer.rb b/lib/liquid/lexer.rb index f62058196..4ce2bc7b9 100644 --- a/lib/liquid/lexer.rb +++ b/lib/liquid/lexer.rb @@ -18,6 +18,7 @@ class Lexer IDENTIFIER = /[a-zA-Z_][\w-]*\??/ SINGLE_STRING_LITERAL = /'[^\']*'/ DOUBLE_STRING_LITERAL = /"[^\"]*"/ + STRING_LITERAL = Regexp.union(SINGLE_STRING_LITERAL, DOUBLE_STRING_LITERAL) NUMBER_LITERAL = /-?\d+(\.\d+)?/ DOTDOT = /\.\./ COMPARISON_OPERATOR = /==|!=|<>|<=?|>=?|contains(?=\s)/ @@ -35,9 +36,7 @@ def tokenize break if @ss.eos? tok = if (t = @ss.scan(COMPARISON_OPERATOR)) [:comparison, t] - elsif (t = @ss.scan(SINGLE_STRING_LITERAL)) - [:string, t] - elsif (t = @ss.scan(DOUBLE_STRING_LITERAL)) + elsif (t = @ss.scan(STRING_LITERAL)) [:string, t] elsif (t = @ss.scan(NUMBER_LITERAL)) [:number, t]