write a regex matches 800-555-1212, 555-1212, and also (800) 555-1212.

M

Mark Lawrence

Okay, that was pretty easy. Thanks for the challenge :)

-tkc

What's the run time speed like? How much memory does it use? Shouldn't
you be using the regex module from pypi instead of the standard library
re? Guess who's borrowed the time machine?
 
T

Tim Chase

What's the run time speed like?

O(1)

r = re.compile(
"800-555-1212|"
"555-1212|"
r"\(800\) 555-1212"
)

(okay, so I also have one that solves the OP's underqualified
problem, but without the OP at least *trying* to code up an answer
and asking for help with it, I've give the snarky solution :)
How much memory does it use?
Insignificant.

Shouldn't you be using the regex module from pypi instead of the
standard library re?

Only if the OP requested it ;-)
Guess who's borrowed the time machine?

Neutrino!

-tkc
 
T

Tim Chase

Mine is simpler and faster.

r = re.compile("")

doh! «smacks forehead» Yours is FAR more efficient, and much more
readable than mine. iMath's teacher will be pleased :)

-tkc
 
T

Tim Chase

The OP doesn't say that you have to compile it, so just:

''

wins.

OP doesn't say it even has to be a string, so I guess



wins. :p

It's-too-late-on-a-Friday-night'ly yers,

-tkc
 
F

Fg Nu

----- Original Message -----
From: Tim Chase <[email protected]>
To: Ian Kelly <[email protected]>
Cc: Python <[email protected]>
Sent: Saturday, September 29, 2012 9:12 AM
Subject: Re: write a regex matches 800-555-1212, 555-1212, and also (800) 555-1212.

Mine is simpler and faster.

r = re.compile("")

doh!  «smacks forehead»  Yours is FAR more efficient, and much more
readable than mine.  iMath's teacher will be pleased :)

-tkc

lulz.
 
D

Devin Jeanpierre

What's the run time speed like? How much memory does it use? Shouldn't you
be using the regex module from pypi instead of the standard library re?
Guess who's borrowed the time machine?

O(n), O(1), and I used RE2.

-- Devin
 
M

Mark Lawrence

The OP doesn't say that you have to compile it, so just:

''

wins.

My understanding is that Python 3.3 has regressed the performance of ''.
Surely the Python devs can speed the performance back up and, just for
us, use less memory at the same time?
 
C

Chris Angelico

My understanding is that Python 3.3 has regressed the performance of ''.
Surely the Python devs can speed the performance back up and, just for us,
use less memory at the same time?

Yes, but to do that we'd have to make Python more Australia-focused
instead of US-centric. As of Python 3.4, the empty string will be
lazily evaluated and be delimited by redback spiders instead of
quotes. That will give a 25% speed and 50% memory usage improvement,
but you'll need to be careful you don't get bitten.

ChrisA
 
M

Mark Lawrence

Yes, but to do that we'd have to make Python more Australia-focused
instead of US-centric. As of Python 3.4, the empty string will be
lazily evaluated and be delimited by redback spiders instead of
quotes. That will give a 25% speed and 50% memory usage improvement,
but you'll need to be careful you don't get bitten.

ChrisA

I'll happily admit that I don't like the way this is going. Do you
(plural) think we should take this across to python ideas?
 
I

Ian Kelly

My understanding is that Python 3.3 has regressed the performance of ''.
Surely the Python devs can speed the performance back up and, just for us,
use less memory at the same time?

At least it will be stored as a Latin-1 '' for efficiency and not a
bloated UCS-4 ''.
 
C

Chris Angelico

Personally I voted for the Fierce Snake[1][2] as the delimiter, but it was
voted down as "not Pythonic" enough.
I'm sure they were using that as a euphamism for "Python*ish*" though.

[1] https://en.wikipedia.org/wiki/Inland_Taipan
[2] It's is so pretty:
https://upload.wikimedia.org/wikipedia/commons/f/fe/Fierce_Snake-Oxyuranus_microlepidotus.jpg

A tempting idea, but it's rather a large delimiter. We should reserve
that for multi-line strings, I think. Although you may have a problem
with i18n; when you take your code to the southern hemisphere, the
snake will be facing the other way, so what you thought was an
open-quote marker is now a close-quote marker instead. Could get
awkward for naive coders.

ChrisA
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,901
Latest member
Noble71S45

Latest Threads

Top