Re: Negate a regular expression
- From: theillien@xxxxxxxxx (Mathew Snyder)
- Date: Sat, 30 Dec 2006 00:10:08 -0500
Ken Foskey wrote:
On Fri, 2006-12-29 at 23:36 -0500, Mathew Snyder wrote:
I'm trying to set up an if clause to exit if an answer given is anything but
either any case combination of 'y' or 'yes'. This is what I have:
exit if $ans =~ m/[^y|^yes]/i;
exit if $ans =~ m/^(y|yes)[ \t\r\n]*$/i;
The brackets are a group, square brackets are a character class. It is
probably a good idea to ignore whitespace around the error as well.
Let me clarify though.
I have a script that will grab a bunch of emails which need to be deleted from a
database and displays them. I then want it to ask if the user wishes to delete
them. I want 'No' to be the default so that anything other than any case
combination of 'y' or 'yes' will cause the script to exit. This includes simply
hitting 'enter' or entering anything that ISN'T 'y' or 'yes', case
notwithstanding. So having the regex look also for whitespace characters will
defeat this goal.
So how do I negate this if classes aren't the proper way to go?
Mathew
.
- Follow-Ups:
- Re: Negate a regular expression
- From: Wiggins d'Anconia
- Re: Negate a regular expression
- References:
- Negate a regular expression
- From: Mathew Snyder
- Re: Negate a regular expression
- From: Ken Foskey
- Negate a regular expression
- Prev by Date: Re: Negate a regular expression
- Next by Date: Re: Negate a regular expression
- Previous by thread: Re: Negate a regular expression
- Next by thread: Re: Negate a regular expression
- Index(es):
Relevant Pages
|