Sujet : Re: Correct syntax for pathological re.search()
De : hjp-python (at) *nospam* hjp.at (Peter J. Holzer)
Groupes : comp.lang.pythonDate : 18. Oct 2024, 23:09:41
Autres entêtes
Message-ID : <mailman.28.1729285790.4695.python-list@python.org>
References : 1 2 3 4 5 6
Pièces jointes : signature.asc (application/pgp-signature) On 2024-10-12 08:51:57 -0400, Thomas Passin via Python-list wrote:
On 10/12/2024 6:59 AM, Peter J. Holzer via Python-list wrote:
On 2024-10-11 17:13:07 -0400, AVI GROSS via Python-list wrote:
Is there some utility function out there that can be called to show what the
regular expression you typed in will look like by the time it is ready to be
used?
I assume that by "ready to be used" you mean the compiled form?
No, there doesn't seem to be a way to dump that. You can
p = re.compile("\\sout{")
print(p.pattern)
but that just prints the input string, which you could do without
compiling it first.
It prints the escaped version,
Did you mean the *un*escaped version? Well, yeah, that's what print
does.
so you can see if you escaped the string as you intended. In this
case, the print will display '\sout{'.
print("\\sout{")
will do the same.
It seems to me that for any string s which is a valid regular expression
(i.e. re.compile doesn't throw an exception)
assert re.compile(s).pattern == s
holds.
So it doesn't give you anything you didn't already know.
As a trivial example, the regular expressions r"\sout{" and r"\sout\{"
are equivalent (the \ before the { is redundant). Yet
re.compile(s).pattern preserves the difference between the two strings.
hp
-- _ | Peter J. Holzer | Story must make more sense than reality.|_|_) | || | | hjp@hjp.at | -- Charles Stross, "Creative writing__/ | http://www.hjp.at/ | challenge!"