Author

Topic: PHP preg_match not working? (Read 1876 times)

hero member
Activity: 576
Merit: 514
August 11, 2011, 05:26:39 PM
#2
Because the è isn't at the start of the line. Try the haystack 'èggs' and it will match.
hero member
Activity: 700
Merit: 500
What doesn't kill you only makes you sicker!
August 11, 2011, 03:34:36 PM
#1
I was going to put this in the Development section but I decided it was too small a fragment to be directly relevant to Bitcoin so I figured I'd post here instead.

I'm trying to get a unicode regular expression working but I think it might not be working properly.

Currently I'm testing with:

Code:

$pattern 
'/[\p{L}]*$/';
$check preg_match($pattern'Testing èggs');

if (
$check) {
echo 'matched';
} else {
echo 'no match';
}

?>


This matches fine but as soon as I change the $pattern to:

Code:
$pattern = '/^[\p{L}]*$/'

It stops working.

My understanding is that the ^ at the start of the pattern means to search from the start.

If so, why does it stop working? It works so long as it's not multi language, e.g. using the \w shorthand.

Is my understanding wrong or is this not working on my PC?
Jump to: