我使用正则表达式如下 return(\s+([^"\n;]+))?; 为了与 obj-c 中的返回语句相匹配,但当我像这样通过 Python 使用它时:re.sub(r'return(\s+([^"\n;]+))?;',r'{\g<0>}',str(content)) 我发现它与这个语句匹配: 我发现它像这样匹配 //please {return [self funcA];} 如何处理代码错误?
我认为问题在于你的正则表达式使用了\s,它匹配任何空格字符。 你可能只想匹配空格或制表符,可以使用[ \t]来代替: r'return([ \t]+([^"\n;]+))?;' (演示) 或者 - 更好的方法是: r'return[ \t]+[^"\n;]*;' 请查看正则表达式演示。