Python 在re中识别为大写字母的组合[';-]
为什么在re中Python 在re中识别为大写字母的组合[';-],python,regex,Python,Regex,为什么在re中['-\]被识别为大写字母?如何防止这种情况发生,以便更换3个不同的符号:”、-和 re.sub("['-_]", '', 'DHourly') 输出:'ourly' 在这里使用python 3.8.10。对于此类问题,您可以使用。这与包含该范围内大写字母的ASCII代码39到95相匹配 说明: […]:字符集。匹配集合中的任何字符 ”——:范围。匹配范围为'到.(字符代码39到95)的字符。区分大小写 将连字符移动到末尾或开头,否则它将匹配一个范围。但为
['-\]
被识别为大写字母?如何防止这种情况发生,以便更换3个不同的符号:”
、-
和
re.sub("['-_]", '', 'DHourly')
输出:'ourly'
在这里使用python 3.8.10。对于此类问题,您可以使用。这与包含该范围内大写字母的ASCII代码39到95相匹配 说明:
:字符集。匹配集合中的任何字符[…]
:范围。匹配范围为”——
到'
(字符代码39到95)的字符。区分大小写.
将连字符移动到末尾或开头,否则它将匹配一个范围。但为什么会出现这种行为?具体来说,这是因为
-
(位于组中其他两个字符之间)表示一个字符范围,'
具有ASCII代码39,
具有ASCII代码95,它们之间都是大写字母(ASCII 65-96)。将-
放在组的最开头或最末尾将防止将其解释为一个范围。您将输入的字符范围与“到”之间的字符范围进行比较,其中碰巧包括大写字母。类似于此,请查看此链接并将鼠标悬停在连字符上。请不要显示文本图像。复制文本并粘贴到这里很容易。