James Gray
12/25/2005 4:01:00 AM
On Dec 24, 2005, at 9:27 PM, basi wrote:
> Merry Christmas!
Back at ya. ;)
> But work goes on :(
<laughs>
> Just trying a way to match duplicate syllables.
>
> C = "bcdfghjklmnpqrstvwxyz"
> V = "aeiou"
>
> aString =~ /[#{C}][#{V}][#{C}][#{V}]/
>
> should match if the first CV matches the next CV. Hence, "waikiki"
> should match on "kiki". And "dodo", "paparazzi" should match too.
Hope this helps:
>> V = "aeiou".freeze
=> "aeiou"
>> C = ("a".."z").to_a.join.gsub(/[#{V}]/, "").freeze
=> "bcdfghjklmnpqrstvwxyz"
>> DBL_SYL = /([#{C}][#{V}])\1/.freeze
=> /([bcdfghjklmnpqrstvwxyz][aeiou])\1/
>> %w{waikiki dodo paparazzi}.each do |test|
?> puts "#{test} => #{$&}" if test =~ DBL_SYL
>> end
waikiki => kiki
dodo => dodo
paparazzi => papa
=> ["waikiki", "dodo", "paparazzi"]
James Edward Gray II