Murry's solution here is ideal since it only captures the single occurrence. Since I want to use it for a preg_replace(), it is perfect.

A couple of folks sent this pattern [EMAIL PROTECTED]@[EMAIL PROTECTED]; but, it doesn't work because I then have to remove the unwanted caracters on either side.

All it says is [not  @[EMAIL PROTECTED]@] 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 [EMAIL PROTECTED], 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



Reply via email to