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.
Created on 2012年04月01日 08:16 by py.user, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| re_unicode_identifiers.patch | serhiy.storchaka, 2013年01月24日 15:27 | review | ||
| Messages (5) | |||
|---|---|---|---|
| msg157266 - (view) | Author: py.user (py.user) * | Date: 2012年04月01日 08:16 | |
http://docs.python.org/py3k/library/re.html "(?P<name>...) Similar to regular parentheses, but the substring matched by the group is accessible within the rest of the regular expression via the symbolic group name name. Group names must be valid Python identifiers, and each group name must be defined only once within a regular expression." >>> chr(255) 'ÿ' >>> 'ÿ'.isidentifier() True >>> import re >>> re.search(r'(?P<ÿ>a)', 'abc') Traceback (most recent call last): File "/usr/local/lib/python3.2/functools.py", line 176, in wrapper result = cache[key] KeyError: (<class 'str'>, '(?P<ÿ>a)', 0) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.2/re.py", line 158, in search return _compile(pattern, flags).search(string) File "/usr/local/lib/python3.2/re.py", line 255, in _compile return _compile_typed(type(pattern), pattern, flags) File "/usr/local/lib/python3.2/functools.py", line 180, in wrapper result = user_function(*args, **kwds) File "/usr/local/lib/python3.2/re.py", line 267, in _compile_typed return sre_compile.compile(pattern, flags) File "/usr/local/lib/python3.2/sre_compile.py", line 491, in compile p = sre_parse.parse(p, flags) File "/usr/local/lib/python3.2/sre_parse.py", line 692, in parse p = _parse_sub(source, pattern, 0) File "/usr/local/lib/python3.2/sre_parse.py", line 315, in _parse_sub itemsappend(_parse(source, state)) File "/usr/local/lib/python3.2/sre_parse.py", line 552, in _parse raise error("bad character in group name") sre_constants.error: bad character in group name >>> also: (?P=name) (?(name)yes|no) \g<name> |
|||
| msg159574 - (view) | Author: Ezio Melotti (ezio.melotti) * (Python committer) | Date: 2012年04月29日 04:54 | |
There are two options here: 1. fix the doc; 2. fix the code; Matthew, do you have any opinion on this? Does this work on regex? |
|||
| msg159616 - (view) | Author: Matthew Barnett (mrabarnett) * (Python triager) | Date: 2012年04月29日 15:25 | |
It doesn't work in regex, but it probably should. IMHO, if it's a valid identifier, then it should be allowed. |
|||
| msg180530 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2013年01月24日 15:27 | |
Here is a patch which make re to use for groups the same rule as for Python 3 identifiers. In Python 2 the implementation confirms the documentation. |
|||
| msg186900 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2013年04月14日 09:40 | |
New changeset 2fa27a3818a2 by Georg Brandl in branch '3.3': Closes #14462: allow any valid Python identifier in sre group names, as documented. http://hg.python.org/cpython/rev/2fa27a3818a2 |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:28 | admin | set | github: 58667 |
| 2013年04月14日 09:40:09 | python-dev | set | status: open -> closed nosy: + python-dev messages: + msg186900 resolution: fixed stage: patch review -> resolved |
| 2013年01月31日 14:32:20 | serhiy.storchaka | set | assignee: docs@python -> serhiy.storchaka |
| 2013年01月24日 15:27:10 | serhiy.storchaka | set | files:
+ re_unicode_identifiers.patch versions: + Python 3.4, - Python 2.7 keywords: + patch nosy: + serhiy.storchaka messages: + msg180530 stage: needs patch -> patch review |
| 2012年04月29日 15:25:18 | mrabarnett | set | messages: + msg159616 |
| 2012年04月29日 04:54:16 | ezio.melotti | set | type: behavior -> enhancement stage: needs patch messages: + msg159574 versions: + Python 2.7, Python 3.3 |
| 2012年04月01日 08:16:48 | py.user | create | |