February 4th, 2009, 03:11 PM
-
Originally Posted by Weekend Coder
Well, I've played with it a bit and think I was on the wrong track. From what I can tell...
What I had was not 'any number of letters and numbers': it only hexadecimal digits (0-F). \s doesn't just match spaces: it matches any whitespace character, including tabs, vtabs, &c., and I think you've applied the * wrongly: modifiers go after the terms they modify.
So I'm going to try this one:
Code:
'/\{SomeString [0-9a-zA-Z ]*\}/'
Err, who is "you" in "and I think you've applied the * wrongly"?
Anyway, as I already mentioned: you don't need to escape the { and } in your case.
Run this example:
PHP Code:
$text = '{abc def ghi}';
if(preg_match('/^{[a-z ]*}$/', $text)) {
echo "YES";
} else {
echo "NO";
}
It will print "YES": no need escaping them.
EDIT:
Ah, "you" was me. Yes, I misread your explanation. Well, what'd you know, I make my own point: no matter what people tell you on an online forum, always test it yourself.
; )
Last edited by prometheuzz; February 4th, 2009 at 03:14 PM.