On 7/13/24 8:10 PM, Jon LaBadie wrote:
On Sun, Jul 14, 2024 at 12:24:02PM +1000, Eyal Lebedinsky wrote:
Following the upgrade f38->f40 I started getting warnings and errors. This is one.

What is the correct escapes to select strings starting with (AD) and [AD]?

/usr/local/bin/mythtv-fix-descriptions.py:33: SyntaxWarning: invalid escape sequence '\['
  re_tag = re.compile ("^[\[(]AD[\])] *")

If I remove the escapes I get:

/usr/local/bin/mythtv-fix-descriptions.py:33: FutureWarning: Possible nested set at position 2
  re_tag = re.compile ("^[[(]AD[])] *")

However making it a raw string removes the warning, but will it do the right thing?

  re_tag = re.compile (r"^[\[(]AD[\])] *")


Assuming myth follows the basic RE syntax, square brackets must be included in a class positionally, not by escaping them.  They must
immediately follow the opening square bracket.  This should do it.

     ^[[(]AD[])]

That is not correct. That's the same as his second attempt which gives the warning. It does work, but throws a warning and will likely stop working in the future. Python re wants the square bracket to be escaped. You really only need the opening bracket escaped, but it's safer and more clear for anyone looking at it if you escape both. Personally, I would escape the round brackets as well.

--
_______________________________________________
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to