RE: [PHP] regex question
| From: | Murray @ PlanetThoughtful | Date: | Mon, 16 May 2005 21:09:00 +0000 |
| Subject: | RE: [PHP] regex question | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-215328@lists.php.net to get a copy of this message | ||
> 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.
"/[^@]@[^@]/" seems to do what you're looking for. In other words, match the
"@" symbol where it is not preceded or followed by another "@" symbol.
To test, try:
preg_match_all('/[^@]@[^@]/','Some @ text with the @t sym@@bol @@@',
$thing, PREG_OFFSET_CAPTURE);
print_r($thing);
There may be a more intuitive way to do this, but at least it seems to work.
Regards,
Murray