Regular exp matching delimited string excepting trailing delimiters?

Jeff Kowalczyk jtk at yahoo.com
Thu Oct 31 20:39:36 CET 2002


"Alex Martelli" <aleax at aleax.it> wrote in message
news:D_ew9.56722$aL4.1716505 at news1.tin.it...
> Jeff Kowalczyk wrote:
>
> > Can anyone suggest a reg exp (using re) that will match the entirety of a
> > delimited string of values, omitting zero or more delimiters at the end of
> > the string? For example:
> >
> > from 'A,B,C,123,D,E,,,,,,' with delimiter ',' match 'A,B,C,123,D,E'
> >
> > I have (,*\Z) to match the trailing delimiters for removal with string
> > slicing, but I'd prefer to directly match the text to keep, or match both
> > keep and discard as groups. What would be the syntax for an omission like
> > that? Thanks.
>
> Perhaps:
>     ([^,]+,?)*
> but that won't work if you can have e.g. A,B,,,,D,E,Z,,, ("empty fields").
>
Thanks, I was going to follow up that detail omitted from the original post, I *will*
usually have internally repeating delimiters:
'A,,C,123,D,,,,,J,,,,,,,'
My only group to omit is zero or more trailing delimiters. Everything else must be
verbatim.








More information about the Python-list mailing list