import re st1 = input() st2 = re.sub(r'[^(\d)]','',st1) print(st2) re.sub(pattern, repl, string, count=0, flags=0) 参数说明: pattern:要匹配的正则表达式模式。 repl:替换的字符串或替换函数。如果是字符串,将用于替换匹配的部分。如果是函数,该函数将接收一个 re.Match 对象作为参数,用于生成替换的字符串。 string:要进行替换操作的源字符串。 count(可选):指定替换的最大次数。默认为 0,表示替换所有匹配项。 flags(可选):用于修改匹配行为的标志。 import re pattern = r"apple" string = "I have an apple. I like apple." replaced_string = re.sub(pattern, "orange", string) print(replaced_string) 正则表达式模式 r"[^(\d)]" 的含义如下: r:原始字符串前缀,告诉 Python 解释器按字面意义处理字符串。 [^(\d)]:一个字符类(character class),表示匹配任意一个不是数字的字符。 具体解释如下: [^...]:字符类的表示方式,表示匹配任意一个不在方括号内的字符。 (\d):一个捕获组(capturing group),表示匹配一个数字。 \d:转义序列,用于表示数字的匹配。\d 匹配 0-9 之间的任意一个数字。 因此,[^(\d)] 表示匹配任意一个不是数字的字符。