Page 1 of 1

Regex to find the last word in the string

Posted: Wed Jun 07, 2017 6:29 am
by meetjunedi
Hello All,

As this is my first post and I am posting a REGEX question.

I am using a REGEX to get the last word from the string and it is working fine only if it does not have a special characters.
test02 cIuTpSUmJOeKyp6Pvc0w
Regex:\s(\w+)$
Working fine - cIuTpSUmJOeKyp6Pvc0w

It is not working if it has special characters like $,#,-,@,).
test02 cIuTpSUm#JOeKyp6Pvc0w
Regex:\s(\w+)$
Not Working -


Can someone provide the regex for fetching the last word from the string?

Looking forward for the response from the experts.

Regards
MIAJ

Re: Regex to find the last word in the string

Posted: Wed Jun 07, 2017 6:45 pm
by requinix
You have to consider what a "word" is. Do you mean anything besides whitespace? Then that's what you need to put in the regex.

Re: Regex to find the last word in the string

Posted: Thu Jun 08, 2017 12:10 am
by meetjunedi
Yes a word can have spaces before and after.
Also main concern is the word includes special characters like %,#,#,! basically all the options a password can have.

Re: Regex to find the last word in the string

Posted: Thu Jun 08, 2017 12:37 am
by requinix
Okay, so does that mean you don't understand what I said? And now you're saying there could be spaces after, which means you have to alter the regex even further because it currently doesn't allow that.

Re: Regex to find the last word in the string

Posted: Sat Jun 10, 2017 3:16 pm
by Christopher
How about just: strrchr(rtrim($str), ' ');

http://php.net/manual/en/function.strrchr.php