gpt4 book ai didi

python - Python 正则表达式中的空格

转载 作者:太空宇宙 更新时间:2023-11-04 01:16:22 25 4
gpt4 key购买 nike

我目前正在编写一个 Python 脚本,它将搜索整个 .c.h 文件并找到所有函数定义,这样我就可以进行一些细微的编辑。要查找我尝试使用正则表达式的所有函数定义。

我目前拥有的是:

"r'\w+?\s+?\w+?\s*?\(.*?\)[\n\s]*?{"

这个逻辑的问题是它目前在某些情况下会接受某些 if 语句。例如:

else
if(//herpderp){}

它这样做是因为 \s 包含 \n。我觉得如果我的表达式只查找空格而不是任何空格,我就不会遇到这个问题,但我无法检验我的理论,因为似乎没有 \(insert letter here) 只是一个简单的空间。

那么问题来了。如果您对如何修复我的正则表达式有任何建议,或者如果有更好的编写脚本的一般方法,请告诉我。

最佳答案

可以通过使用单个空格来匹配单个空格,就像匹配任何其他非元字符的字符一样:

"r'\w+? +?\w+? *?\(.*?\)\s*?{"

' +?' 序列匹配仅一个或多个空格,非贪婪。我将 [\n\s] 替换为 \s,因为 \n 已经包含在内。

您可以扩展到具有更多类型空白的字符类:

[ \t]

匹配空格或制表符。

关于python - Python 正则表达式中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24369325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com