我就是这样使用正则表达式的
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;]+))?;'
( demo ) 或 - 更好:
r'return[ \t]+[^"\n;]*;'
关于python - 如何使正则表达式忽略 python 中的新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38832239/