我像那样使用正则表达式
return(\s+([^"\n;]+))?;
为了匹配obj-c中的return语句,但是当我像这样通过python使用它时:
re.sub(r'return(\s+([^"\n;]+))?;',r'{\g<0>}',str(content))
我发现它与此声明匹配
//please {return
[self funcA];}
并使代码出错。如何处理?
答案 0 :(得分:2)
我认为问题是你的正则表达式\s
匹配任何空格。
您可能只想将文字空格或标签与[ \t]
匹配:
r'return([ \t]+([^"\n;]+))?;'
(demo)或 - 更好:
r'return[ \t]+[^"\n;]*;'