Looking for help with regular expressions- not Python Specific

Discussion in 'Python' started by Tony C, Jan 8, 2004.

  1. Tony C

    Tony C Guest

    I'm writing a python program which uses regular expressions, but I'm
    totally new to regexps.

    I've got Kuchling's "Regexp HOWTO", "Mastering Regular Expresions" by
    Oreilly, and have access to online stuff too.

    But I would like to find a mailing list or newsgroup where I can ask
    questions about regexps (when things don't work), not specifically
    dealing with Python. When I have Python-regexp questions, I'll post
    them here of course.

    Googling around didn't produce any useable results (of course if I new
    how to use regexps, I could probably do more-intelligent searches) :)


    thanks
    Tony C, Jan 8, 2004
    #1
    1. Advertising

  2. Tony C

    Joe Francia Guest

    Tony C wrote:
    > I'm writing a python program which uses regular expressions, but I'm
    > totally new to regexps.
    >
    > I've got Kuchling's "Regexp HOWTO", "Mastering Regular Expresions" by
    > Oreilly, and have access to online stuff too.
    >
    > But I would like to find a mailing list or newsgroup where I can ask
    > questions about regexps (when things don't work), not specifically
    > dealing with Python. When I have Python-regexp questions, I'll post
    > them here of course.
    >
    > Googling around didn't produce any useable results (of course if I new
    > how to use regexps, I could probably do more-intelligent searches) :)
    >


    First, be sure you actually need regexes. See if you can achieve the
    same results using string methods. String methods are faster to run,
    easier to write, and much easier to debug.

    If you still need regex:
    The O'Reilly book is a great source. You also may want to check out
    Kodos for interactively testing & debugging regexes -
    http://kodos.sourceforge.net

    And always keep this in mind:
    'Some people, when confronted with a problem, think "I know, I'll use
    regular expressions." Now they have two problems.'
    --Jamie Zawinski, comp.lang.emacs
    Joe Francia, Jan 8, 2004
    #2
    1. Advertising

  3. Tony C

    Roy Smith Guest

    (Tony C) wrote:
    > But I would like to find a mailing list or newsgroup where I can ask
    > questions about regexps (when things don't work), not specifically
    > dealing with Python. When I have Python-regexp questions, I'll post
    > them here of course.


    I don't know of any regex-specific newsgroups or mailing lists, but most
    old unix hands are pretty good at them, so asking in comp.unix.questions
    might be worth trying. Perl makes extensive use of regex, so I'll bet
    you'll find some regex gurus on comp.lang.perl too.

    Try doing a search on groups.google.com for regex and see what
    newsgroups pop up the most with recent dates, then ask your questions
    there. Keep in mind that there are many different regex libraries out
    there, and they don't all accept exactly the same syntax. Python and
    Perl use the same library (I believe).

    But, on the other hand, we're a pretty friendly group on
    comp.lang.python, and I know there's a bunch of regex wizards who hang
    out here as well, so why not just ask here.

    One Python-specific tip is to get into the habit of ALWAYS using the r''
    style raw strings for regex. It makes life so much simplier.

    Joe Francia <> wrote:
    > First, be sure you actually need regexes. See if you can achieve the
    > same results using string methods. String methods are faster to run,
    > easier to write, and much easier to debug.


    Regex's are an extremely powerful tool, and anybody who's serious about
    programming (especially if you do text processing) should have a solid
    mastery of them. That being said, Joe is certainly right about them not
    always being the best tool for the job. Chainsaws and scalpels are both
    useful cutting tools, but hardly interchangable in all applications.
    Regex's can lead to extremely fast and compact code, but then can also
    lead to stuff which is impossible for anybody to understand 6 months
    later.

    Also, Joe's comment that string methods are faster to run is a
    half-truth. Regex's get compiled. If you use the all-in-one step regex
    methods, you compile the expression every time you use it. Compiling is
    expensive. But, if you pre-compile the expression, using it is very
    fast. Doing the compile step once, and re-using the result can be very
    fast. A single regex that looks for a complex pattern may well be
    faster than a series of string methods tied together with conditional
    logic. Your mileage may vary, so if speed is important to you, try
    different ways and profile it.

    In any case, for the vast majority of stuff, speed is just not an issue,
    and you should pick your weapon based more on clarity and simplicity of
    the resulting code than on raw speed.
    Roy Smith, Jan 8, 2004
    #3
  4. Roy Smith <> wrote:

    > I don't know of any regex-specific newsgroups or mailing lists, but most
    > old unix hands are pretty good at them, so asking in comp.unix.questions
    > might be worth trying. Perl makes extensive use of regex, so I'll bet
    > you'll find some regex gurus on comp.lang.perl too.


    Please use comp.lang.perl.misc instead. comp.lang.perl "officially" does not
    exist, as it was rmgrouped in August 1995. Some carelessly-administered news
    servers still carry it, unfortunately.

    alt.perl is another possibility, and is perhaps a bit looser about what is
    considered on-topic for the newsgroup, but clpm tends to have more
    knowledgeable people. (although some people frequent both c.l.p.m and a.p)

    --
    David Wall
    David K. Wall, Jan 8, 2004
    #4
  5. You might find the redemo.py script real handy when investigating
    regexes. It should live in the Tools subdirectory of your python
    install (and requires tkinter).
    =?ISO-8859-1?Q?Bernard_Delm=E9e?=, Jan 8, 2004
    #5
  6. |Thus Spake Tony C On the now historical date of Wed, 07 Jan 2004 21:14:52
    -0800|

    > I'm writing a python program which uses regular expressions, but I'm
    > totally new to regexps.
    >
    > I've got Kuchling's "Regexp HOWTO", "Mastering Regular Expresions" by
    > Oreilly, and have access to online stuff too.


    It may be more than you're looking for, but regular expressions are a nice
    compact encoding of finite state machines. If you really, really, really
    want to grok regexp's and are willing to make an investment of time in it,
    then you are best to understand fsm's. Searching for understandable
    material could be tough going. You'll come across a lot of cryptic
    mathematical papers. My tip is that you'll start turning up papers that
    include references to push down automata and turing machines. These are
    more powerful versions of finite state machines, but not directly related
    to regexps. Skip over them. Really, anyone with a solid understanding of
    programming fundamentals should be able to understand fsm's. I would
    point you to some resources, but I haven't got any handy.

    Happy Hunting.

    Sam Walters.

    P.S. If you look deeper into finite state machines, push down automata,
    turing machines and the lambda calculus, your soul will merge with the
    deeper zen of computer programming. Deep understanding of these four
    concepts (whether that understanding is conscious or unconscious) is what
    separates good programmers from truly great ones. I suggest "Godel,
    Escher, Bach" by Douglas Hofstadter as a good, but dizzying, introduction
    to this territory.


    --
    Never forget the halloween documents.
    http://www.opensource.org/halloween/
    """ Where will Microsoft try to drag you today?
    Do you really want to go there?"""
    Samuel Walters, Jan 9, 2004
    #6
  7. Tony C

    JanC Guest

    Joe Francia <> schreef:

    > You also may want to check out
    > Kodos for interactively testing & debugging regexes -
    > http://kodos.sourceforge.net


    An alternative to Kodos is Kiki:
    <http://project5.freezope.org/kiki/>
    (uses wxPython while Kodos uses pyQT)

    --
    JanC

    "Be strict when sending and tolerant when receiving."
    RFC 1958 - Architectural Principles of the Internet - section 3.9
    JanC, Jan 9, 2004
    #7
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Jay Douglas
    Replies:
    0
    Views:
    601
    Jay Douglas
    Aug 15, 2003
  2. Skinnerfritz
    Replies:
    5
    Views:
    350
  3. Bart Kastermans
    Replies:
    3
    Views:
    306
    Terry Reedy
    Aug 28, 2008
  4. Bã§TãRÐ
    Replies:
    3
    Views:
    111
    Evertjan.
    Feb 9, 2004
  5. Noman Shapiro
    Replies:
    0
    Views:
    232
    Noman Shapiro
    Jul 17, 2013
Loading...

Share This Page