GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — GH-98906 ```re``` module: ```search() vs. match()``` section should mention ```fullmatch()``` by ramvikrams · Pull Request #98916 · python/cpython Conversation
Contributor
Added the re.fullmatch() with it's examples GH-98906
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactionsadding re.fullmatch with it's examples
slateny
reviewed
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe continue the style of this paragraph, so instead something like 'Python offers a few primitive ...' then '... re.fullmatch checks that the whole string is a match ...' (can change this wording up a bit too). I also think the
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done sir
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For consistency, other examples seem to use double quotes so this and
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done the changes
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
slateny
reviewed
Comment on lines
+1567
to
+1568
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| :func:`re.fullmatch` checks for entire string to be a match. :func:`re.search` | |
| checks for a match anywhere in the string (this is what Perl does by default). | |
| :func:`re.fullmatch` checks for entire string to be a match, and | |
| :func:`re.search` checks for a match anywhere in the string | |
| (this is what Perl does by default). |
or perhaps even
| :func:`re.fullmatch` checks for entire string to be a match. :func:`re.search` | |
| checks for a match anywhere in the string (this is what Perl does by default). | |
| :func:`re.fullmatch` checks for entire string to be a match, and | |
| :func:`re.search` checks for a match anywhere in the string. |
but I'll let Eric decide whether the Perl mention is necessary.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
ok
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
My recommendation would be to use bullet points (and to reorder so that plain re.match is last, honestly it's a little bit of a footgun)
* :func:`re.search` checks for a match anywhere in the string
(this is what Perl does by default)
* :func:`re.fullmatch` checks for entire string to be a match
* :func:`re.match` checks for a match only at the beginning of the string
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| :func:`re.fullmatch` checks for entire string to be a match. :func:`re.search` | ||
| checks for a match anywhere in the string (this is what Perl does by default). |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
My recommendation would be to use bullet points (and to reorder so that plain re.match is last, honestly it's a little bit of a footgun)
* :func:`re.search` checks for a match anywhere in the string
(this is what Perl does by default)
* :func:`re.fullmatch` checks for entire string to be a match
* :func:`re.match` checks for a match only at the beginning of the string
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
update the examples where `re.match` and `re.search` shows a match but not `re.fullmatch`
There was an error while loading. Please reload this page.
| <re.Match object; span=(0, 1), match='c'> | ||
| >>> re.search("c", "cdef") # Match | ||
| <re.Match object; span=(0, 1), match='c'> | ||
| >>> re.fullmatch("c", "cdef") # No Match |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Sorry I wasn't clear. I think you need two examples for fullmatch:
re.fullmatch("p.*n", "python") # Match re.fullmatch("r.*n", "python") # No match
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
yes sir
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
done sir
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| >>> re.match("c", "cdef") # match | ||
| <re.Match object; span=(0, 1), match='c'> | ||
| >>> re.search("c", "cdef") # Match | ||
| <re.Match object; span=(0, 1), match='c'> |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
And I would not add these 2 examples. The existing examples are fine. The goal is to show that search() can match something that match() does not, with the same parameters to both.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
yes sir
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| restrict the match at the beginning of the string:: | ||
|
|
||
| >>> re.match("c", "abcdef") # No match | ||
| >>> re.fullmatch("c", "abcdef") # No Match |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
I would not add this. This section is trying to show the differences between search and match. Adding a fullmatch example just confuses things.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
yes sir
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Please delete the fullmatch line here.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated. Once you have made the requested changes, please leave a comment on this pull request containing the phrase |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I have made the requested changes; please review again |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Thanks for making the requested changes! @ericvsmith: please review the changes made to this pull request. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| restrict the match at the beginning of the string:: | ||
|
|
||
| >>> re.match("c", "abcdef") # No match | ||
| >>> re.fullmatch("c", "abcdef") # No Match |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Please delete the fullmatch line here.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| >>> re.match('X', 'A\nB\nX', re.MULTILINE) # No match | ||
| >>> re.search('^X', 'A\nB\nX', re.MULTILINE) # Match | ||
| >>> re.match("X", "A\nB\nX", re.MULTILINE) # No match | ||
| >>> re.fullmatch("X", "A\nB\nX", re.MULTILINE) # No Match |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
And delete thisfullmatch line also. This section doesn't need to mention fullmatch.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| + :func:`re.search` checks for a match anywhere in the string, | ||
| (this is what Perl does by default) | ||
| + :func:`re.fullmatch` checks for entire string to be a match | ||
| + :func:`re.match` checks for a match only at the beginning of the string |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Please leave these in the order of match, then search, then fullmatch. That way the match the examples immediately below.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Sorry for one additional small change. I'll commit it after this change.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| >>> re.match("c", "abcdef") # No match | ||
| >>> re.search("c", "abcdef") # Match | ||
| <re.Match object; span=(2, 3), match='c'> | ||
| >>> re.fullmatch("p.*n", "python") |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Sorry I missed this: Can you add the "# Match" comment to this line?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated. Once you have made the requested changes, please leave a comment on this pull request containing the phrase |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I have made the requested changes; please review again |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Thanks for making the requested changes! @ericvsmith: please review the changes made to this pull request. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Thanks @ramvikrams for the PR, and @ericvsmith for merging it 🌮🎉.. I'm working now to backport this PR to: 3.10, 3.11. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
GH-99912 is a backport of this pull request to the 3.11 branch. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…ould mention ```fullmatch()``` (pythonGH-98916) Mention fullmatch along with search and match. (cherry picked from commit e0f91de) Co-authored-by: ram vikram singh <[email protected]>
…ould mention ```fullmatch()``` (pythonGH-98916) Mention fullmatch along with search and match. (cherry picked from commit e0f91de) Co-authored-by: ram vikram singh <[email protected]>
|
GH-99913 is a backport of this pull request to the 3.10 branch. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
thanks sir for your help |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…hould mention ```fullmatch()``` (GH-98916) (GH-99912) GH-98906 ```re``` module: ```search() vs. match()``` section should mention ```fullmatch()``` (GH-98916) Mention fullmatch along with search and match. (cherry picked from commit e0f91de) Co-authored-by: ram vikram singh <[email protected]> Co-authored-by: ram vikram singh <[email protected]>
…hould mention ```fullmatch()``` (GH-98916) (GH-99913) GH-98906 ```re``` module: ```search() vs. match()``` section should mention ```fullmatch()``` (GH-98916) Mention fullmatch along with search and match. (cherry picked from commit e0f91de) Co-authored-by: ram vikram singh <[email protected]> Co-authored-by: ram vikram singh <[email protected]>
* main: (112 commits) pythongh-99894: Ensure the local names don't collide with the test file in traceback suggestion error checking (python#99895) pythongh-99612: Fix PyUnicode_DecodeUTF8Stateful() for ASCII-only data (pythonGH-99613) Doc: Add summary line to isolation_level & autocommit sqlite3.connect params (python#99917) pythonGH-98906 ```re``` module: ```search() vs. match()``` section should mention ```fullmatch()``` (pythonGH-98916) pythongh-89189: More compact range iterator (pythonGH-27986) bpo-47220: Document the optional callback parameter of weakref.WeakMethod (pythonGH-25491) pythonGH-99905: Fix output of misses in summarize_stats.py execution counts (pythonGH-99906) pythongh-99845: PEP 670: Convert PyObject macros to functions (python#99850) pythongh-99845: Use size_t type in __sizeof__() methods (python#99846) pythonGH-99877) Fix typo in exception message in `multiprocessing.pool` (python#99900) pythongh-87092: move all localsplus preparation into separate function called from assembler stage (pythonGH-99869) pythongh-99891: Fix infinite recursion in the tokenizer when showing warnings (pythonGH-99893) pythongh-99824: Document that sqlite3.connect implicitly open a transaction if autocommit=False (python#99825) pythonGH-81057: remove static state from suggestions.c (python#99411) Improve zip64 limit error message (python#95892) pythongh-98253: Break potential reference cycles in external code worsened by typing.py lru_cache (python#98591) pythongh-99127: Allow some features of syslog to the main interpreter only (pythongh-99128) pythongh-82836: fix private network check (python#97733) Docs: improve accuracy of socketserver reference (python#24767) ...
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.