python 替换字符串 朋友们看看

import re
pattern = r'(11)|(22)|(33)|(44)'
string = '这也太恶心了,33都比这更44强,和22一个11样子。'
result = re.sub(pattern,'啥玩意啊',string)
print(result)

运行结果为
这也太恶心了,33都比这更啥玩意啊强,和22一个啥玩意啊样子。

我想知道为什么33和22没有被替换

因为22和33你用的是中文括号

import re
pattern = r'(11)|(22)|(33)|(44)'
string = '这也太恶心了,33都比这更44强,和22一个11样子。'
result = re.sub(pattern,'啥玩意啊',string)
print(result)

要匹配多个数字pattern='[0-9]+'就行了或者pattern=r'\d+',没看懂为什么你的pattern这样写