On Fri, Nov 16, 2001 at 10:39:57PM +0100, birgit kellner wrote:
> How can I filter out strings which contain two (or three) non-identical 
> capital letters in a row?
> 
> my $string1 = "ABCD";
> my $string2 = "AbCd";
> my $string3 = "AABcD";
> 
> Get $string1, discard $string2 and $string2.

The description of what you what and what strings you wish discarded don't
match.  You say you want to filter out strings that contain two
non-identical capital letters; that would discard $string1 and $string3. 
$string1 contains two non-identical capital letters, "AB"; $string3 contains
two non-identical capital letters, "AB"; and to filter is to remove.

Assuming that your description was wrong, and that your wish for which gets
discarded is correct, I came up with:

    foreach (qw(ABCD AbCd AABcD)) {
        print if !/([[:upper:]])\1/ && /[[:upper:]]+/
    }

You can replace the class [:upper:] with A-Z if your perl doesn't support
it.


Michael
--
Administrator                      www.shoebox.net
Programmer, System Administrator   www.gallanttech.com
--

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to