Thank you Jonathan,

I get it.  It's like a substitution in Vim, where you have to escape some 
characters on the search side but not on the replacement side.

I'm getting along better with regular expressions, but they are not my 
friends yet.

On Thursday, April 5, 2012 10:16:51 AM UTC-4, Jonathan Lundell wrote:
>
> On Apr 5, 2012, at 6:20 AM, Cliff wrote:
>
> I can't understand why this isn't working.  The regular expressions seem 
> to work OK in an interactive Python session.  Details are below.
> Grateful thanks for any help.
>
> My web site (still in development) has two applications.  The welcome app 
> will handle the marketing side, with links to demos, 'what we do' pages, 
> blogs, etc.  Another app, called operations, will host paid applications 
> for business users.
>
> A url like mysite.com or www.mysite.com should go to the welcome app.  A 
> url with a subdomain, like yourcompany.mysite.comshould go to the 
> operations app.
>
> This set of routes almost works.  For example, localhost:8000 goes to 
> welcome.  'dc.localhost:8000/operations' goes to operations.  But 
> 'dc.localhost:8000' gives me http://dc.localhost:8000/.*://localhost.* which 
> goes to the welcome page.
> In routes:
> ## this first route should trap "dc.localhost:8000
> ## it does not
> ## I seem to remember the router stops at the first match
>   ('.*://(?P<any>[a-z][A-Z]+)\.localhost', 
>     '\g<any>operations'
>   ),
> ## this route traps "dc.localhost:8000/operations...."
>   ('.*://(?P<any>[a-z][A-Z]+)\.localhost(?P<anything>.*)', 
>     '\g<any>operations\g<anything>'
>   ),
> ## this route traps localhost:8000
>   ('.*://localhost.*', '/welcome/default/index'), # works
> ###############################################################
> Out routes
> ## not working, as above  
> ('(?P<any>[a-z][A-Z]+)operations', 
>     '.*://\g<any>localhost/operations',
>   ),
> ## works  
> ('(?P<any>[a-z][A-Z]+)operations(?P<anything>.*)', 
>     '.*://\g<any>localhost\g<anything>',
>   ),
> ## works
>   ('/welcome/default/index', '.*://localhost.*', ),
>
>
> I think you might be misinterpreting some of your evidence. What you're 
> labeling as "Out routes" don't look like out routes (you can't have things 
> like .* in the second string of a routes tuple). Can you show the whole 
> table definition?
>
> And [a-z][A-Z]+ won't match 'dc'. You want [a-zA-Z]+
>

Reply via email to