summaryrefslogtreecommitdiffstats
path: root/lib/eregex.rb
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-01-16 12:19:09 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-01-16 12:19:09 +0000
commit986c389e3116bc5746e8b2072de5e39b4c6719f1 (patch)
tree4d0edb1c1986e1578b181ebe2441acfee27f1fab /lib/eregex.rb
parent99d0354e89aefdb6373dbeb22506216b8790a0bd (diff)
downloadruby-986c389e3116bc5746e8b2072de5e39b4c6719f1.tar.gz
ruby-986c389e3116bc5746e8b2072de5e39b4c6719f1.tar.xz
ruby-986c389e3116bc5746e8b2072de5e39b4c6719f1.zip
Initial revision
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@8 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/eregex.rb')
-rw-r--r--lib/eregex.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/eregex.rb b/lib/eregex.rb
new file mode 100644
index 000000000..f214f6a2d
--- /dev/null
+++ b/lib/eregex.rb
@@ -0,0 +1,39 @@
+
+class RegOr
+ def initialize(re1, re2)
+ @re1 = re1
+ @re2 = re2
+ end
+
+ def =~ (str)
+ @re1 =~ str or @re2 =~ str
+ end
+end
+
+class RegAnd
+ def initialize(re1, re2)
+ @re1 = re1
+ @re2 = re2
+ end
+
+ def =~ (str)
+ @re1 =~ str and @re2 =~ str
+ end
+end
+
+class Regexp
+ def |(other)
+ RegOr.new(self, other)
+ end
+ def &(other)
+ RegAnd.new(self, other)
+ end
+end
+
+p "abc" =~ /b/|/c/
+p "abc" =~ /b/&/c/
+
+
+
+
+