homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: have a way to search backwards for re
Type: enhancement Stage:
Components: None Versions:
process
Status: closed Resolution: duplicate
Dependencies: Superseder: Major reworking of Python 2.5.2 re module
View: 3825
Assigned To: niemeyer Nosy List: Drekin, amaury.forgeotdarc, loewis, mrabarnett, niemeyer, phr, timehorse
Priority: normal Keywords:

Created on 2002年02月13日 03:22 by phr, last changed 2022年04月10日 16:04 by admin. This issue is now closed.

Messages (7)
msg53476 - (view) Author: paul rubin (phr) Date: 2002年02月13日 03:22
There doesn't seem to be any reasonable way to search
a string backwards for a regular expression, starting
from a given character position. I notice that the
underlying C regular expression implemention supports
a direction flag.
I propose adding a direction flag to the search function
on match objects:
r = re.compile(...)
m = re.search(str, startpos=5000, endpos=-1, dir=-1)
would search in str for r, starting at
location 5000 and searching backwards through
location 0 (the beginning of the string).
This is useful in (for example) text editors where
you want to be able to search forwards or backwards,
or if you're parsing an html file and see a </table>
and want to find the matching <table>, etc.
phr
msg53477 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2002年03月27日 20:32
Logged In: YES 
user_id=21627
Moved to feature requests tracker.
msg53478 - (view) Author: paul rubin (phr) Date: 2003年09月29日 19:53
Logged In: YES 
user_id=72053
Another way to do this would be add a direction flag to the 
regexp itself, like re.R (for reverse) if R isn't already in use:
 group = re.search(pat, str, start, end, re.R)
or something like that.
I continue to want this feature. It's very handy for writing 
web scrapers, which I do fairly frequently.
msg72784 - (view) Author: Matthew Barnett (mrabarnett) * (Python triager) Date: 2008年09月08日 17:26
Does this request still stand? I'm working on the re module at the moment.
msg72832 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2008年09月09日 09:05
Why not? I needed such a feature some time ago.
But if possible, it should be a keyword argument:
re.search(..., backwards=True)
similar to list.sort(reverse=True)
msg73549 - (view) Author: Matthew Barnett (mrabarnett) * (Python triager) Date: 2008年09月22日 00:51
Implemented as part of #3825.
msg225871 - (view) Author: Adam Bartoš (Drekin) * Date: 2014年08月25日 10:38
Hello, I wanted to use this feature and found this issue. It is marked as closed, being a duplicate of another closed issue. However the feature is actually not present. In 2008 it was planned to be added by Matthew Barnett in #3825, but the work of improving re module moved to bigger project under #2636 which resulted in regex package to be evenually included in stdlib. So unless regex is included in stdlib, one should try regex package (e.g. pip install regex).
I've put here this summary just in case there is someone like me who looked for the feature and found this issue.
History
Date User Action Args
2022年04月10日 16:04:59adminsetgithub: 36095
2014年08月25日 10:38:33Drekinsetnosy: + Drekin
messages: + msg225871
2008年09月22日 01:00:03benjamin.petersonsetstatus: open -> closed
resolution: duplicate
superseder: Major reworking of Python 2.5.2 re module
2008年09月22日 00:51:46mrabarnettsetmessages: + msg73549
2008年09月21日 12:00:33timehorsesetnosy: + timehorse
2008年09月09日 09:05:26amaury.forgeotdarcsetnosy: + amaury.forgeotdarc
messages: + msg72832
2008年09月08日 17:26:22mrabarnettsetnosy: + mrabarnett
messages: + msg72784
2002年02月13日 03:22:55phrcreate

AltStyle によって変換されたページ (->オリジナル) /