Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
94f87542
Commit
94f87542
authored
Oct 13, 2013
by
Georg Brandl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Back out accidentally pushed changeset b51218966201.
parent
4c3c3557
Changes
5
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
45 additions
and
156 deletions
+45
-156
Doc/library/re.rst
Doc/library/re.rst
+0
-28
Lib/re.py
Lib/re.py
+11
-17
Lib/test/test_re.py
Lib/test/test_re.py
+0
-24
Modules/_sre.c
Modules/_sre.c
+34
-86
Modules/sre.h
Modules/sre.h
+0
-1
No files found.
Doc/library/re.rst
View file @
94f87542
...
...
@@ -584,16 +584,6 @@ form.
instead (see also :ref:`search-vs-match`).
.. function:: fullmatch(pattern, string, flags=0)
If the whole *string* matches the regular expression *pattern*, return a
corresponding :ref:`match object <match-objects>`. Return ``None`` if the
string does not match the pattern; note that this is different from a
zero-length match.
.. versionadded:: 3.4
.. function:: split(pattern, string, maxsplit=0, flags=0)
Split *string* by the occurrences of *pattern*. If capturing parentheses are
...
...
@@ -788,24 +778,6 @@ attributes:
:meth:`~regex.search` instead (see also :ref:`search-vs-match`).
.. method:: regex.fullmatch(string[, pos[, endpos]])
If the whole *string* matches this regular expression, return a corresponding
:ref:`match object <match-objects>`. Return ``None`` if the string does not
match the pattern; note that this is different from a zero-length match.
The optional *pos* and *endpos* parameters have the same meaning as for the
:meth:`~regex.search` method.
>>> pattern = re.compile("o[gh]")
>>> pattern.fullmatch("dog") # No match as "o" is not at the start of "dog".
>>> pattern.fullmatch("ogre") # No match as not the full string matches.
>>> pattern.fullmatch("doggie", 1, 3) # Matches within given limits.
<_sre.SRE_Match object at ...>
.. versionadded:: 3.4
.. method:: regex.split(string, maxsplit=0)
Identical to the :func:`split` function, using the compiled pattern.
...
...
Lib/re.py
View file @
94f87542
...
...
@@ -86,7 +86,6 @@ resulting RE will match the second character.
This module exports the following functions:
match Match a regular expression pattern to the beginning of a string.
fullmatch Match a regular expression pattern to all of a string.
search Search a string for the presence of a pattern.
sub Substitute occurrences of a pattern found in a string.
subn Same as sub, but also return the number of substitutions made.
...
...
@@ -124,7 +123,7 @@ import sre_compile
import
sre_parse
# public symbols
__all__
=
[
"match"
,
"
fullmatch"
,
"
search"
,
"sub"
,
"subn"
,
"split"
,
"findall"
,
__all__
=
[
"match"
,
"search"
,
"sub"
,
"subn"
,
"split"
,
"findall"
,
"compile"
,
"purge"
,
"template"
,
"escape"
,
"A"
,
"I"
,
"L"
,
"M"
,
"S"
,
"X"
,
"U"
,
"ASCII"
,
"IGNORECASE"
,
"LOCALE"
,
"MULTILINE"
,
"DOTALL"
,
"VERBOSE"
,
"UNICODE"
,
"error"
]
...
...
@@ -155,11 +154,6 @@ def match(pattern, string, flags=0):
a match object, or None if no match was found."""
return
_compile
(
pattern
,
flags
).
match
(
string
)
def
fullmatch
(
pattern
,
string
,
flags
=
0
):
"""Try to apply the pattern to all of the string, returning
a match object, or None if no match was found."""
return
_compile
(
pattern
,
flags
).
fullmatch
(
string
)
def
search
(
pattern
,
string
,
flags
=
0
):
"""Scan through string looking for a match to the pattern, returning
a match object, or None if no match was found."""
...
...
Lib/test/test_re.py
View file @
94f87542
...
...
@@ -1061,30 +1061,6 @@ class ReTests(unittest.TestCase):
self.assertEqual(m.group(1), "")
self.assertEqual(m.group(2), "
y
")
def test_fullmatch(self):
# Issue 16203: Proposal: add re.fullmatch() method.
self.assertEqual(re.fullmatch(r"
a
", "
a
").span(), (0, 1))
self.assertEqual(re.fullmatch(r"
a
|
ab
", "
ab
").span(), (0, 2))
self.assertEqual(re.fullmatch(r"
.
*
?$
", "
abc
").span(), (0, 3))
self.assertEqual(re.fullmatch(r"
.
*
?
", "
abc
").span(), (0, 3))
self.assertEqual(re.fullmatch(r"
a
.
*
?
b", "
ab
").span(), (0, 2))
self.assertEqual(re.fullmatch(r"
a
.
*
?
b", "
abb
").span(), (0, 3))
self.assertEqual(re.fullmatch(r"
a
.
*
?
b", "
axxb
").span(), (0, 4))
self.assertEqual(re.fullmatch(r"
abc
$
", "
abc
\
n
"), None)
self.assertEqual(re.fullmatch(r"
abc
\
Z
", "
abc
\
n
"), None)
self.assertEqual(re.fullmatch(r"
(
?
m
)
abc
$
", "
abc
\
n
"), None)
self.assertEqual(re.fullmatch(r"
ab
(
?
=
c
)
cd
", "
abcd
").span(), (0, 4))
self.assertEqual(re.fullmatch(r"
ab
(
?
<=
b
)
cd
", "
abcd
").span(), (0, 4))
self.assertEqual(re.fullmatch(r"
(
?
=
a
|
ab
)
ab
", "
ab
").span(), (0, 2))
self.assertEqual(
re.compile(r"
bc
").fullmatch("
abcd
", pos=1, endpos=3).span(), (1, 3))
self.assertEqual(
re.compile(r"
.
*
?$
").fullmatch("
abcd
", pos=1, endpos=3).span(), (1, 3))
self.assertEqual(
re.compile(r"
.
*
?
").fullmatch("
abcd
", pos=1, endpos=3).span(), (1, 3))
def run_re_tests():
from test.re_tests import tests, SUCCEED, FAIL, SYNTAX_ERROR
if verbose:
...
...
Modules/_sre.c
View file @
94f87542
This diff is collapsed.
Click to expand it.
Modules/sre.h
View file @
94f87542
...
...
@@ -89,7 +89,6 @@ typedef struct {
SRE_REPEAT
*
repeat
;
/* hooks */
SRE_TOLOWER_HOOK
lower
;
int
match_all
;
}
SRE_STATE
;
typedef
struct
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment