Re: Regular Expression reserved letters
- From: Daniel Pitts <googlegroupie@xxxxxxxxxxxxx>
- Date: 30 Apr 2007 07:35:22 -0700
On Apr 30, 7:18 am, adria...@xxxxxx wrote:
Hi all
I have the following problem.
I have to test if a text matches with another text. For this i use the
matches-Method of the String class in the way:
String a = "Hello world";
String b = "anytext goes here_-)_some m[]ore text goes{}here.";
if (a.tolowercase().matches(b)) {
// some code goes here
}
The problem ist, that e.g. ),[],{} are reserved words in regex. To use
them in filter expressions i have to escape them with \). But how to
know what all i have to escape? There are so many other reserved
letters and signs in regex and the text i have to compare can contain
everything.
So my questions:
Is there in any class any helper function which knows all the reserved
sings and letters and that supplies a function which escapes me all
automatically?
Thank you
Adrian
Well, there are two approaches to this...
One, is use a non-regex comparison. If you don't need regex, then
don't use regex. Regex is significantly slower than using indexOf or
equals.
If, on the other hand, you have a portion of an expresion that must be
regex, and a portion that must be litaral, I suggest you read the
documentation here: <http://java.sun.com/j2se/1.4.2/docs/api/java/util/
regex/Pattern.html>
That documentation will tell you what codes need to be escape, and
ironically, you can use replaceAll to appropriately escape the string.
Hope this helps,
Daniel.
.
- Follow-Ups:
- Re: Regular Expression reserved letters
- From: Daniel Pitts
- Re: Regular Expression reserved letters
- References:
- Regular Expression reserved letters
- From: adrianae
- Regular Expression reserved letters
- Prev by Date: Re: Regular Expression reserved letters
- Next by Date: Set java.util.logging.config.file via the Preferences API.
- Previous by thread: Re: Regular Expression reserved letters
- Next by thread: Re: Regular Expression reserved letters
- Index(es):
Relevant Pages
|