A couple of folks sent this pattern [^@]@[^@]; but, it doesn't work because I then have to remove the unwanted caracters on either side.
All it says is [not @]@[not@] but, it captures the 2 characters on each side.
Murry's solution (?<!@)@(?!@) is good since it only captures the "@"
Thanks everyone....
Murray @ PlanetThoughtful wrote:
What pattern can I use to match ONLY single occurrences of a character in a string.
e.g., "Some text @ and some mo@@re and mor@e, etc @@@.
I only want the two occurrences with a single occurrence of "@".
@{1} doesn't work; there are 4 matches.
Thanks....
Please ignore my last email re: your question. I realized that the negation of the range containing the "@" would end up capturing unwanted characters.
As an alternative, try the following:
preg_match_all('/(?<!@)@(?!@)/','Some @ text with the @t sym@@bol @@@@ ',
$thing, PREG_OFFSET_CAPTURE);
print_r($thing);
Hope that's a little more relevant to your question.
Regards,
Murray
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php