The difference between the two is quite simple, the latter requires the beginning of the string to match a-z (lowercase) and end with at least 1 space.
That is for first and last name, I want to allow for spaces, hyphens and apostrophes. Maybe you clarify my assumptions about regular expressions. Does it return 0 when a character is inserted that is not in the argument or does it just check to see if the listed characters are there?
Please note that this does not allow for special characters like the é in my name.
For names I mostly find it easiest to just [fphp]strip_tags[/fphp] to prevent script injection and be done with it.