Re: Regex - how to match until something
Available news archives: comp.lang.tcl - comp.lang.python - comp.security.firewalls - sci.crypt - comp.lang.php - comp.lang.javascript
Google
 
Web news.hping.org


comp.lang.php archive

Re: Regex - how to match until something

From: Mladen Gogala <gogala@sbcglobal.net>
Date: Sun Apr 30 2006 - 06:49:19 CEST

On Sun, 30 Apr 2006 02:55:54 +0200, Rik wrote:

> Read up on regexes.
>
> Learn what (.*?) means.
>
> $string1 = preg_replace ( '/Hello(.*?)( today)/', 'Hello ***\2' , $string1);
>
> Grtz,

Actually, there is no need to put (.*) within the parenthesis as you are
not using it later. You are just creating another variable needlessly. In
addition to that, $2 is preferred to \2. The "backslash" variables are
only needed in the original string, not in the replacement. Also, no need
to use non-hungry version of .* as there is only one terminator ("today")
in the string. Invocation like

$string1 = preg_replace ( '/Hello.*(today)/', 'Hello *** $1' ,$string1);

would be a bit faster and use less memory.

-- 
http://www.mgogala.com
Received on Mon May 1 03:07:44 2006