Re: [PHP] (another) regex difficulty

2003-10-02 Thread jonas_weber
Am Donnerstag, 02.10.03 um 01:37 Uhr schrieb Cristian Lavaque:
doh, I now understand your question, you don't mean the asterisk 
literally,
but as any character that follows a backslash... sorry -_-
that's right ;) -- anyway, thanks for your effort!

my problem was that i misunderstood the escape-the-meta-char-idea (see 
below).

Am Mittwoch, 01.10.03 um 23:23 Uhr schrieb Curt Zirzow:
'\\' always gets translated to '\'  So the string:

'/(\\)/' translates to '/(\)/' which is an invalid regex, you'll
get a complaint about unclosed paren.
this is also a bit tricky:
echo "beg \\ end\n";
echo "beg \ end\n";

c) Why do I hate regular expressions so much?
perhaps because you're using them wrong.
klugscheisser ;)

I've answered all 5 of em so far.
thanks, your answers helped a lot!

- jns

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Re: [PHP] (another) regex difficulty

2003-10-01 Thread Curt Zirzow
* Thus wrote jonas_weber @ gmx. ch ([EMAIL PROTECTED]):
> 01.10.03 at 18:17 Curt Zirzow wrote:
> >preg_replace('/(? 
> 01.10.03 at 18:27 CPT John W. Holmes wrote:
> >$term = preg_replace('/[^\\]./','x',$term);
> 
> they don't work (thanks anyway)


the example below should turn any character exept "\*" (*= any
char) into an "x":


Besides that all mine needed was a extra \ 

$term = 'char \not xed';

preg_replace('/(? 
> it's pretty simple: i need a regex that matches any character in a 
> string except "\*" (* stands for any char that follows the "\").
> 
> example: "this is \ba test"
> should match: this a is test
> 
> isn't there a way to do this?

This is completly different problem. It isn't a matching issue but
a replacement issue.

preg_replace('/\\\.{1}/', '', $term);

You want to remove all \* characters.

Curt
-- 
"I used to think I was indecisive, but now I'm not so sure."

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] (another) regex difficulty

2003-10-01 Thread CPT John W. Holmes
From: <[EMAIL PROTECTED]>

> it's pretty simple: i need a regex that matches any character in a
> string except "\*" (* stands for any char that follows the "\").
>
> example: "this is \ba test"
> should match: this a is test
>
> isn't there a way to do this?

Turn that around. What you need to do is remove \* from your string...

$new_str = preg_replace('/\\./','',$old_str);

Regular expressions are for "pattern matching"... not matching everything
BUT a pattern.

---John Holmes...

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] (another) regex difficulty

2003-10-01 Thread jonas_weber
01.10.03 at 18:17 Curt Zirzow wrote:
preg_replace('/(?01.10.03 at 18:27 CPT John W. Holmes wrote:
$term = preg_replace('/[^\\]./','x',$term);
they don't work (thanks anyway)

it's pretty simple: i need a regex that matches any character in a 
string except "\*" (* stands for any char that follows the "\").

example: "this is \ba test"
should match: this a is test
isn't there a way to do this?

best wishes,
jns
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Re: [PHP] (another) regex difficulty

2003-10-01 Thread CPT John W. Holmes
From: <[EMAIL PROTECTED]>

> regular expressions
> the example below should turn any character exept "\*" (*= any char)
> into an "x":
>
> $term = preg_replace('/[^(\\\)+(.){1}]/', 'x', $term);
>
> but i guess because of the [brackets] the "." (period) is treated as
> character "." instead as metacharacter (that matches any char).
>
> anyone knows how to work around this?

Maybe...

$term = preg_replace('/[^\\]./','x',$term);

which would replace any character that's NOT a \ followed by any other
character with an x...

Not tested, of course. :)

---John Holmes...

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] (another) regex difficulty

2003-10-01 Thread Curt Zirzow
* Thus wrote jonas_weber @ gmx. ch ([EMAIL PROTECTED]):
> regular expressions
> the example below should turn any character exept "\*" (*= any char)
> into an "x":
>
> $term = preg_replace('/[^(\\\)+(.){1}]/', 'x', $term);

preg_replace('/(?http://php.net/manual/en/pcre.pattern.syntax.php


Curt
-- 
"I used to think I was indecisive, but now I'm not so sure."

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] (another) regex difficulty

2003-10-01 Thread jonas_weber
regular expressions
the example below should turn any character exept "\*" (*= any char) 
into an "x":

$term = preg_replace('/[^(\\\)+(.){1}]/', 'x', $term);

but i guess because of the [brackets] the "." (period) is treated as 
character "." instead as metacharacter (that matches any char).

anyone knows how to work around this?

thanks for your effort
best wishes,
jns
ps: thanks for your help, holmes and kilimajer!

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php