diff --git a/lib/parslet/expression.rb b/lib/parslet/expression.rb
index <HASH>..<HASH> 100644
--- a/lib/parslet/expression.rb
+++ b/lib/parslet/expression.rb
@@ -37,8 +37,8 @@ class Parslet::Expression
     rule(:string) {
       str('\'') >> 
       (
-        (str('\\') >> any) /
-        (str('\'').absnt? >> any)
+        (str('\\') >> any) |
+        (str("'").absnt? >> any)
       ).repeat.as(:string) >> 
       str('\'')
     }
diff --git a/spec/unit/parslet/expression_spec.rb b/spec/unit/parslet/expression_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/unit/parslet/expression_spec.rb
+++ b/spec/unit/parslet/expression_spec.rb
@@ -18,15 +18,19 @@ describe Parslet::Expression do
     end
   end
 
-  # REPLACE ME TODO
-  def match(str)
-    simple_matcher("match") do |parslet|
-      parslet.parse(str)
+  RSpec::Matchers.define :accept do |string|
+    match do |parslet|
+      begin
+        parslet.parse(string)
+        true
+      rescue Parslet::ParseFailed
+        false
+      end
     end
   end
   
   context "simple strings ('abc')" do
     subject { exp("'abc'") }
-    it { should match('abc') }
+    it { should accept('abc') }
   end
 end
\ No newline at end of file
+ Fixing the new examples with all the new code

The treetop parser is experimental and will undergo some changes yet.