I'm new at regular expressions and wonder how to phrase one that collects everything after the last
I'm extracting an ID used by Google's GData.
my example string is
Where the ID is:
Oh and I'm using PHP.
This matches at least one of (anything not a slash) followed by end of the string:
*) so that if the last character is a slash it fails to match (rather than matching empty string).
But, most likely a faster and simpler solution is to use your language's built-in string list processing functionality - i.e.
ListLast( Text , '/' ) or equivalent function.
For PHP, the closest function is strrchr which works like this:
strrchr( Text , '/' )
This includes the slash in the results - as per Teddy's comment below, you can remove the slash with substr:
substr( strrchr( Text, '/' ), 1 );
The data you want would then be the match of the first group.
Edit Since you’re using PHP, you could also use
strrchr that’s returning everything from the last occurence of a character in a string up to the end. Or you could use a combination of
substr, first find the position of the last occurence and then get the substring from that position up to the end. Or
array_pop, split the string at the
/ and get just the last part.