You are here: Re: [PHP] Optimal Regex? « PHP « IT news, forums, messages
Re: [PHP] Optimal Regex?

Posted by Jochem Maas on 09/27/05 01:34

keep it on the list please.

and you still didn't answer the question :-)

<snip>
> preg_match_all($expression, "$string", $matches);
> ^-- why ? ...
>
> are you wrapping the variable in double quotes?
</snip>

....and also from your code:
$string = (334,-53.44),(111,222);
^-- er what is this 'string' about?

David Pollack wrote:
> I added the $string and $expression variables at the last minue for
> readabilty, before I just had it all in the preg_match_all. I'm using a

ah but they were not valid code - which can confuse matters.
try to post code that runs if you can (i.e. test if you're providing
a testcase) .. i guess you have to kind of flip that argument inside
out when it comes to enquiring whether something might be a bug -
there is still testing involved tho.

<garanteed-top-quality-sarcasm-free>
have you ever used 'php -r' - it's brilliant - especially when you
fund out how easy it is to cut and paste into a bash[-like] shell
(probably using Putty if/when your on windows). be ware of
single quotes.
</garanteed-top-quality-sarcasm-free>

> simple test file for this. I used your example and it returned two
> identical arrays with the correct information. Interesting.

maybe my regexp is not only bad but also wrong [for
grepping coordinates in a 'any' variation of '( 123 ,-45.78)' ] ?

$coordRE = "(?:[ ]?[-+]?\\d+(?:\\.\\d+)?[ ]?)";
$coordsRE = "#(\\({$coordRE},{$coordRE}\\))#";

var_dump($coordRE, $coordsRE);

==========================================

moulin@moulin~ -- Tue Sep 27 00:24:20
$> php -r '
$> $coordRE = "(?:[ ]?[-+]?\\d+(?:\\.\\d+)?[ ]?)";
$> $coordsRE = "#(\\({$coordRE},{$coordRE}\\))#";
$>
$> var_dump($coordRE, $coordsRE);
$>
$> '
string(30) "(?:[ ]?[-+]?\d+(?:\.\d+)?[ ]?)"
string(69) "#(\((?:[ ]?[-+]?\d+(?:\.\d+)?[ ]?),(?:[ ]?[-+]?\d+(?:\.\d+)?[ ]?)\))#"



>
> On 9/26/05, *Jochem Maas* <jochem@iamjochem.com
> <mailto:jochem@iamjochem.com> > wrote:
>
> David Pollack wrote:
> > I need to catch all instances of a coordinate in a give string.
> So far I
> > have this, which only works if the coordinate is in a certain format.
> >
> >
> > $string = (334,-53.44),(111,222);

^-- er what is this 'string' about?

> > $expression = '([(][-]?[0-9]*[.0-9]*?,[-]?[0-9]*[.0-9]*?[)])';
>
> here's a horrid little bit of .... for you :)

<you could extract this code and run if you were really really bored>


>
> <?php
>
> $testStr = <<< EOD
> > \$string = (334,-53.44),(111,222);
> > preg_match_all(\$expression, "\$string", \$matches);
> >
> > This returns the correct strings (334,- 53.44) and (111,222), but
> Id like
> > all formats to work. Like (111, 222), ( 111 , 222 ), (111, 222 ),
> etc, etc.
> > How would I change my regex to accomplish this?
> EOD;
>
> $coordRE = "(?:[ ]?[-+]?\\d+(?:\\.\\d+)?[ ]?)";
> $coordsRE = "#(\\({$coordRE},{$coordRE}\\))#";
> $matches = array();
> preg_match_all($coordsRE, $testStr, $matches);
> var_dump($testStr, $matches);
>
>
> ?>

</you could extract this code and run if you were really really bored>


>
> > preg_match_all($expression, "$string", $matches);
> ^-- why ? ...
>
> are you wrapping the variable in double quotes?
>
> >
> > This returns the correct strings (334,-53.44) and (111,222), but
> I'd like
> > all formats to work. Like (111, 222), ( 111 , 222 ), (111, 222 ),
> etc, etc.
> > How would I change my regex to accomplish this?
> >
> > --
> > David Pollack
> > DHPollack@gmail.com <mailto:DHPollack@gmail.com>
> >
> > www.atlspecials.com <http://www.atlspecials.com>
> <http://www.atlspecials.com>
> > www.da3.net <http://www.da3.net> <http://www.da3.net>
> >
>
>
>
>
> --
> David Pollack
> DHPollack@gmail.com <mailto:DHPollack@gmail.com>
>
> www.atlspecials.com <http://www.atlspecials.com>
> www.da3.net <http://www.da3.net>

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация