3
return(\s+([^"\n;]+))?;
正则表达式,以匹配OBJ-C return语句,但是当我用它通过蟒蛇是这样的:
re.sub(r'return(\s+([^"\n;]+))?;',r'{\g<0>}',str(content))
我发现它匹配像本声明
//please {return
[self funcA];}
并使代码错误。我该如何处理它?
return(\s+([^"\n;]+))?;
正则表达式,以匹配OBJ-C return语句,但是当我用它通过蟒蛇是这样的:
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;]*;'
非常感谢你和我有什么我可以匹配这些情况的anthor问题======= >>> return @“hello world”;和“回归这个问题”; ,当我改变正则表达式r'return [\ t] + [^ \ n;] *;'它会让<<“返回这个问题”; >>像这样的错误“{return this question”; } – CurryChen
对不起,您可以分享https://regex101.com/r/mM6mK2/3这样的演示链接吗? –
https://regex101.com/r/mM6mK2/4和https://regex101.com/r/mM6mK2/5谢谢 – CurryChen