Re: [PHP] Re: Regex Problem
Igor Escobar wrote: No no, i need to make an regex to match the bold areas in my string. Anything between single quotes or double quotes (including quotes and double quotes). Understand? Regards, Igor Escobar Systems Analyst Interface Designer + http://blog.igorescobar.com + http://www.igorescobar.com + @igorescobar (twitter) That's not going to happen without some other criteria. There is no way for the regex engine to guess at which sets of quotes belong inside another set of quotes. -Shawn -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: Regex Problem
Shawn McKenzie wrote: Igor Escobar wrote: No no, i need to make an regex to match the bold areas in my string. Anything between single quotes or double quotes (including quotes and double quotes). Understand? Regards, Igor Escobar Systems Analyst Interface Designer + http://blog.igorescobar.com + http://www.igorescobar.com + @igorescobar (twitter) That's not going to happen without some other criteria. There is no way for the regex engine to guess at which sets of quotes belong inside another set of quotes. -Shawn Especially since in one of your examples you don't even have an even number of quotes. -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: regex problem
Merlin wrote: ^\/test\/contact.html$ does not work. I am sorry, I just found that it has to be: test/contact.html and not dir/test/contact.html there is no leading slash. Do you have any other suggestion? Are you making this too hard? if($string = 'test/contact.html') { echo 'good'; } else { echo 'bad'; } ?? -- ---John Holmes... Amazon Wishlist: www.amazon.com/o/registry/3BEXC84AB3A5E/ PHP|Architect: A magazine for PHP Professionals www.phparch.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: regex problem
John W. Holmes wrote: Merlin wrote: ^\/test\/contact.html$ does not work. I am sorry, I just found that it has to be: test/contact.html and not dir/test/contact.html there is no leading slash. Do you have any other suggestion? Are you making this too hard? if($string = 'test/contact.html') That's if($string == 'test/contact.html') of course... :) ---John Holmes... Amazon Wishlist: www.amazon.com/o/registry/3BEXC84AB3A5E/ PHP|Architect: A magazine for PHP Professionals www.phparch.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Re: regex problem
[snip] if($string = 'test/contact.html') That's if($string == 'test/contact.html') of course... :) [/snip] it could be if($string == test/contact.html) couldn't resist :) Jay P.S. John, nothing on that thing yet. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: regex problem
Jay Blanchard wrote: if($string == 'test/contact.html') it could be if($string == test/contact.html) not to start a flame war or anything, but isn't the apostrophe version quicker, as it doesn't ask the server to parse the string? Kae -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: regex problem
So ^[^/]+/[^/]* or ^!(partner/) Merlin wrote: ufff.. sorry guys, but I have to explain that better. I appreciate your help, maybe I did not give enough info. I am trying to redirect with apache modrewrite. To do this you have to use regex (not if functions:-) My problem is, that there are member accounts which look like that: membername/contact.html and there are partner accounts which look like this: partner/name/contact.html The goal is to redirect only if it is a member account. If I put a (.*)/contact.html it also matches the partner/ I tryed putting a root / infront, but there is not / root for the url from apaches point of view. So I would need a regex which will match the member account, but if the first word is partner it should not terminate. This seems to be a tough one! Thanx for any help, Merlin Kae Verens [EMAIL PROTECTED] schrieb im Newsbeitrag news:[EMAIL PROTECTED] Merlin wrote: ^\/test\/contact.html$ does not work. I am sorry, I just found that it has to be: test/contact.html and not dir/test/contact.html there is no leading slash. Do you have any other suggestion? *sigh* ^test\/contact.html$ Kae -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: regex problem
does not work. Is there not a way to exclude the word partner like you triede with !(partner) ? merlin Marek Kilimajer [EMAIL PROTECTED] schrieb im Newsbeitrag news:[EMAIL PROTECTED] So ^[^/]+/[^/]* or ^!(partner/) Merlin wrote: ufff.. sorry guys, but I have to explain that better. I appreciate your help, maybe I did not give enough info. I am trying to redirect with apache modrewrite. To do this you have to use regex (not if functions:-) My problem is, that there are member accounts which look like that: membername/contact.html and there are partner accounts which look like this: partner/name/contact.html The goal is to redirect only if it is a member account. If I put a (.*)/contact.html it also matches the partner/ I tryed putting a root / infront, but there is not / root for the url from apaches point of view. So I would need a regex which will match the member account, but if the first word is partner it should not terminate. This seems to be a tough one! Thanx for any help, Merlin Kae Verens [EMAIL PROTECTED] schrieb im Newsbeitrag news:[EMAIL PROTECTED] Merlin wrote: ^\/test\/contact.html$ does not work. I am sorry, I just found that it has to be: test/contact.html and not dir/test/contact.html there is no leading slash. Do you have any other suggestion? *sigh* ^test\/contact.html$ Kae -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: regex problem
* Thus wrote Merlin ([EMAIL PROTECTED]): ufff.. sorry guys, but I have to explain that better. I appreciate your help, maybe I did not give enough info. I am trying to redirect with apache modrewrite. To do this you have to use regex (not if functions:-) I'm not sure what you expect since this *is* a php mailing list. My problem is, that there are member accounts which look like that: membername/contact.html and there are partner accounts which look like this: partner/name/contact.html The goal is to redirect only if it is a member account. If I put a (.*)/contact.html it also matches the partner/ I tryed putting a root / infront, but there is not / root for the url from apaches point of view. So I would need a regex which will match the member account, but if the first word is partner it should not terminate. This seems to be a tough one! Mod rewrite is a powerful tool and you can accomplish what you are doing several different ways. As you can tell most people have been giving attempts to fix your problem without success. This is because it is not entirely clear what you need done. 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] Re: regex problem
* Thus wrote Kae Verens ([EMAIL PROTECTED]): Jay Blanchard wrote: if($string == 'test/contact.html') it could be if($string == test/contact.html) not to start a flame war or anything, but isn't the apostrophe version quicker, as it doesn't ask the server to parse the string? heh, that is true. Although I havn't benched marked it but it prolly is somewhere around .01 difference :) your not the one that needs to be flamed, it seems that everytime a topic of 'regex' is posted there is always 20+ in the thread with 101% of them not doing what the person wants. Not to mention the OT'ness of the post. cheers, 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] Re: regex problem
So, what you want is to pretty much use this regex /^(.*)([^\/]+)\/([^\/]+)$/ when matched on this URI, the backreferences will contain \\1 partner/ \\2 name \\3 contact.html \\4 .html partner/name/contact.html I have not tested it, but I just guess it will work ;) Wanna know why? I'll tell you :D - It first looks at the beginning of the string and will go on untill a the next pair of () start (partner/) - That happens there where there is a string containing any character, but not a slash (partner) - as a seperator another slash is added - it starts to match the last part of the url and looks up untill the end. Again a string containing no slashes Hope it does do what I expect it to do .. ;) Wouter -Oorspronkelijk bericht- Van: Merlin [mailto:[EMAIL PROTECTED] Verzonden: vrijdag 15 augustus 2003 16:21 Aan: [EMAIL PROTECTED] Onderwerp: [PHP] Re: regex problem Good idea, but does not work either - surprisingly! - There should be a clean way with regex for this task. Andy regex expert in here? Merlin Kae Verens [EMAIL PROTECTED] schrieb im Newsbeitrag news:[EMAIL PROTECTED] Merlin wrote: ufff.. sorry guys, but I have to explain that better. I appreciate your help, maybe I did not give enough info. I am trying to redirect with apache modrewrite. To do this you have to use regex (not if functions:-) My problem is, that there are member accounts which look like that: membername/contact.html and there are partner accounts which look like this: partner/name/contact.html The goal is to redirect only if it is a member account. If I put a (.*)/contact.html it also matches the partner/ I tryed putting a root / infront, but there is not / root for the url from apaches point of view. So I would need a regex which will match the member account, but if the first word is partner it should not terminate. This seems to be a tough one! ah - maybe a chain of rewrites would do? send all matches of /^partner\/(.*)\/contact.html$/ to partner\/\1\/blah send all matches of /^(.*)\/contact.html$/ to NEWLOCATION send all matches of /^partner\/(.*)\/blah$/ to partner\/\1\/contact.html Kae -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Re: regex problem
-Original Message- From: Monty [mailto:[EMAIL PROTECTED] Sent: 31 May 2003 21:21 If you want the entire string to be tested for digits, you need to add the length of the string to the regex pattern: $length = strlen($data); preg_match([0-9]{$length}, $data); Or anchor the pattern to both start and end of the string: preg_match(^[0-9]+$, $data); Cheers! Mike - Mike Ford, Electronic Information Services Adviser, Learning Support Services, Learning Information Services, JG125, James Graham Building, Leeds Metropolitan University, Beckett Park, LEEDS, LS6 3QS, United Kingdom Email: [EMAIL PROTECTED] Tel: +44 113 283 2600 extn 4730 Fax: +44 113 283 3211 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php