File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java in General and the fly likes Use regex for this? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Use regex for this?" Watch "Use regex for this?" New topic

Use regex for this?

Denise Hum

Joined: Oct 09, 2001
Posts: 20
Okay, I'm just returning to Java & programming after a few years hiatus.

I'm trying to see if a string consists of only alphanumeric characters. Is using regular expressions for this appropriate? That is, a String like "555-aws" is bad while "3lsfs" is good.

Here's the code I'm using which doesn't seem to work for more than one character. (I know, the pattern doesn't look for digits yet.) What regular expression should I be using?

String s = "ss";
Pattern p = Pattern.compile("[a-z]");
Matcher m = p.matcher(s);

Max Habibi
town drunk
( and author)

Joined: Jun 27, 2002
Posts: 4118
Hi Denise,

You probably want to add a * to the end of your expression, indicating that it can repeat one or more times. Also, you want to consider upper case characters, and digits. If you're allowed to have underscores, you may want to use the following meta character.
\w \\A word character: [a-zA-Z_0-9]

[ September 13, 2005: Message edited by: Max Habibi ]

Java Regular Expressions
Denise Hum

Joined: Oct 09, 2001
Posts: 20
Thanks. I forgot about the *.
I agree. Here's the link:
subject: Use regex for this?
jQuery in Action, 3rd edition