Skip to main content
 首页 » 编程设计

Python 正则表达式 : "re.match()" works differently than "re.sub()" for regex

2025年05月04日78Terrylee

<分区>

我正在尝试检查我的字符串是否包含一些正则表达式。

奇怪的是,虽然 re.sub() 会找到正则表达式并替换它,但 re.match() 不会返回任何结果。 ..

这是我的用法:

re.match():- 尝试匹配模式 ,\s*param2 - 没有返回任何内容

>>> str = 'func(param1, param2)' 
>>> str 
'func(param1, param2)' 
>>> results = re.match(r',\s*param2', str) 
>>> print(results) 
None 

re.sub():- 成功将相同的模式 ,\s*param2 替换为“hello”

>>> str = 'func(param1, param2)' 
>>> str 
'func(param1, param2)' 
>>> new_str = re.sub(r',\s*param2', ' hello', str) 
>>> new_str 
'func(param1 hello)' 

如何在不替换模式的情况下匹配模式 ,\s*param2