如何使正则表达式忽略python中的新行?

时间:2016-08-08 14:46:08

标签: python regex

我像那样使用正则表达式

return(\s+([^"\n;]+))?;

为了匹配obj-c中的return语句,但是当我像这样通过python使用它时:

re.sub(r'return(\s+([^"\n;]+))?;',r'{\g<0>}',str(content))

我发现它与此声明匹配

//please {return
[self funcA];}

并使代码出错。如何处理?

1 个答案:

答案 0 :(得分:2)

我认为问题是你的正则表达式\s匹配任何空格。

您可能只想将文字空格或标签与[ \t]匹配:

r'return([ \t]+([^"\n;]+))?;'

demo)或 - 更好:

r'return[ \t]+[^"\n;]*;'

请参阅the regex demo