CGI/Perl Guide | Learning Center | Forums | Advertise | Login
Site Search: in

  Main Index MAIN
Search Posts SEARCH
Who's Online WHO'S
Log in LOG

Home: Perl Programming Help: Regular Expressions:
Suggest any Regular Expression, Please


New User

Jul 20, 2012, 12:48 AM

Post #1 of 2 (9881 views)
Suggest any Regular Expression, Please Can't Post


comparing both the strings and returning uncommon

ex: 'xyz' is uncommon string

Chris Charley

Jul 21, 2012, 6:13 PM

Post #2 of 2 (9796 views)
Re: [tallamohan] Suggest any Regular Expression, Please [In reply to] Can't Post

From perlfaq4, How do I compute the difference of two arrays? How do I compute the intersection of two arrays?. This doesn't answer your question directly, but it may give you some idea.

Use a hash. Here's code to do both and more. It assumes that each element is unique in a given array: 

@union = @intersection = @difference = ();
%count = ();
foreach $element (@array1, @array2) { $count{$element}++ }
foreach $element (keys %count) {
push @union, $element;
push @{ $count{$element} > 1 ? \@intersection : \@difference }, $element;

Note that this is the symmetric difference, that is, all elements in either A or in B but not in both. Think of it as an xor operation.

Here is a solution developed by Randal Schwartz but seems to fit your problem in another way from the faq.

use strict;
use warnings;

my ($word1, $word2) = qw/ abcd abcdxyz /;

my %letters;

$letters{$_} .= 'a' for split //, $word1;
$letters{$_} .= 'b' for split //, $word2;

my @uncomman;

for my $ltr (keys %letters) {
push @uncomman, $ltr if $letters{$ltr} =~ /^b/ || $letters{$ltr} =~ /a$/;

print @uncomman;


Search for (options) Powered by Gossamer Forum v.1.2.0

Web Applications & Managed Hosting Powered by Gossamer Threads
Visit our Mailing List Archives