summaryrefslogtreecommitdiff
path: root/lib/eregex.rb
diff options
context:
space:
mode:
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 0000000000..f214f6a2d4
--- /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/
+
+
+
+
+