Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Regular expression

Posted on 2006-07-23
7
Medium Priority
?
370 Views
Last Modified: 2010-04-17
How do I do a regular exp which will  contain:

hello in either lower or uppercase
or byebye in either lower or uppercase

both can have any prefix or suffix
0
Comment
Question by:noam_dz
7 Comments
 
LVL 25

Accepted Solution

by:
InteractiveMind earned 400 total points
ID: 17163088
Like this?

([hH][eE][lL][lL][oO])|([bB][yY][eE][bB][yY][eE])
0
 
LVL 25

Expert Comment

by:InteractiveMind
ID: 17163094
What language are you using however?

Because you could simplify that down to:

(hello)|(byebye)

And specify case insensitivty to the regex compiler.
0
 
LVL 25

Expert Comment

by:InteractiveMind
ID: 17163105
Hmm.. Unless you mean that the entire string must be in either lower case or upper case, rather than potentially a mix of both?

In which case, you could do this:

(hello)|(HELLO)|(byebye)|(BYEBYE)
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 65

Assisted Solution

by:rockiroads
rockiroads earned 400 total points
ID: 17163285
something I picked up in perl earlier

(h|H)|(e|E)|(l|L)|(l|L)|(o|O)


http://www.experts-exchange.com/Programming/Programming_Languages/Perl/Q_21921631.html


0
 
LVL 9

Assisted Solution

by:owenli27
owenli27 earned 400 total points
ID: 17165221
In Java:
Pattern ptrnForm = Pattern.compile("([.\\s]*?hello[.\\s]*?)|([.\\s]*?byebye[.\\s]*?)", Pattern.CASE_INSENSITIVE);

In Perl:
if( $str =~ /(hello)|(byebye)/i )
0
 
LVL 7

Assisted Solution

by:Anandhi K
Anandhi K earned 400 total points
ID: 17165816
Regex.IsMatch(Value,"(/.*?[hello|byebye]?/.*/i)", RegexOptions.IgnoreCase);


In regular expressions, a period can stand for any character. Using a period in a pattern is a way of requiring that "something" occurs here, without having to decide what. (because both can have any prefix or suffix)

the asterisk ("*") is any number of

question-mark ("?") means occurs exactly once

Advanced -- i - Case-insensitive match


Can avoid /i in case of using RegexOptions.IgnoreCase.
0
 
LVL 85

Assisted Solution

by:ozo
ozo earned 400 total points
ID: 17165851
You don't need the () in
if( $str =~ /hello|byebye/i )
unless you also want to capture the match, which you can do with
if( $str =~ /(hello|byebye)/i )
But note that these would also match $str = "phellodendron"



0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This is about my first experience with programming Arduino.
Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
Simple Linear Regression
Six Sigma Control Plans

972 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question