#!/usr/bin/env ruby # This code comes from http://ruby-it.org/pages/Espressioni+Regolari+Ripetizioni # Check the page for copyright notice and explanations >> rgx= /sa*s/ => /sa*s/ >> 'sas' =~ rgx => 0 >> 'saas' =~ rgx => 0 >> 'saaas' =~ rgx => 0 >> 'ss' =~ rgx => 0 >> rgx= /s./ => /s./ >> 'ss' =~ rgx => 0 >> 's ' =~ rgx => 0 >> 's#' =~ rgx => 0 >> 's' =~ rgx => nil >> rgx= /s.*o/ => /s.*o/ >> "sesso" =~ rgx => 0 >> "sasso" =~ rgx => 0 >> "sono io" =~ rgx => 0 >> "s o" =~ rgx => 0 >> "s " =~ rgx => nil >> rgx= /s.?o/ # una s, una ripetizone o zero di un carattere qualsiasi e una o => /s.?o/ >> 'sio'=~ rgx => 0 >> 'so'=~ rgx => 0 >> 'saao'=~ rgx => nil ?* + >> rgx= /s.+o/ # una s, uno o piu' caratteri qualsiasi e una o => /s.+o/ >> 'so'=~ rgx => nil >> 'sao'=~ rgx => 0 >> 'sono io'=~ rgx => 0 >> 'sono io'=~ rgx >> rgx= /a{1,2}/ => /a{1,2}/ >> 'ciao' =~ rgx => 2 >> 'ciaao' =~ rgx => 2 >> 'cio' =~ rgx => nil >> rgx= /a{2}/ => /a{2}/ >> 'ciaao' =~ rgx => 2 >> 'ciao' =~ rgx => nil