diff --git a/2024/ruby/day_19.rb b/2024/ruby/day_19.rb
new file mode 100644
index 0000000..d35b87b
--- /dev/null
+++ b/2024/ruby/day_19.rb
@@ -0,0 +1,8 @@
+available, desired = DATA.read.split("\n\n")
+available = available.split(", ")
+desired = desired.lines(chomp: true)
+
+available = Regexp.new("^(#{available.join(?|)})+$")
+pp desired.select { _1 =~ available }.size
+
+__END__