Has to be something really stupid, but the following never finish (running Python 2.5.1 (r251:54863, Jan 10 2008, 18:00:49) [GCC 4.2.1 (SUSE Linux)] on linux2).
The intention is to match C++ identifiers, with or without namespace qualification, with or without arguments (e.g. variables, functions and macros). The following should be accepted: main main(int,char**) ::main std::cout ::std::cout NDEBUG Thanks for any help. And yes, I'm a total beginner when it comes to Python, but it seems very strange to me that a regex match on a finite length string doesn't terminate Regards, Maurizio #!/usr/bin/env python # -*- Python -*- import re if __name__ == '__main__': r = re.compile ( r'(?:(?P<scope>(?:(?:::)?\w+)*)::)?' r'(?P<name>\w+)' r'(?:\((?P<arguments>[^\)]*)\))?' ) match = r.search ('WITH_ALOHA_EXCEPTION_HANDLERS') -- http://mail.python.org/mailman/listinfo/python-list