regex - Python regex (.*?) 没有给出输出
问题描述
我正在制作一个项目,其中一部分是将 python 文件作为文本文件接收并使用正则表达式对其进行解析。
我能够很好地使用它(其中程序是一个包含换行符的代码的字符串):
findall(r"def (.*?)\((.*?)\)", program)
但是当我期望它给出一个匹配对象时,这一行只给出了 None,其中 .group() 返回“func1(None, None)”
mainblock = search(r'if __name__ == "__main__":(.*?)#END', program)
我正在解析的python文件的缩写版本如下:
def func1(stuff, morestuff):
pass
if __name__ == "__main__":
func1(None, None)
#END
我已经检查了正则表达式本身的任何差异,但我找不到任何差异。我还尝试直接从代码文件中复制/粘贴它,但仍然找不到匹配项
解决方案
推荐阅读
- python - 如何让 Selenium 在等待用户输入时运行
- ruby-on-rails - 如何计算 ruby on rails 中的特定评分计数哈希?
- audio - FFMPEG:使用 filter_complex 添加和静音音频流
- ios - WKWebView WKWebsiteDataStore getAllCookies 不返回会话 Cookie
- javascript - 带有动态子组件的 ReactJS 自定义光标
- reactjs - 反应本机函数返回值未显示
- javascript - 向数组添加一个项目 - reactjs hooks
- javascript - 在 Ajax 请求中刷新 Data Div
- javascript - .clientwidth 在 Chrome 中返回 0
- java - JavaAssist CtClass 有效,但在调用构造函数时抛出 NoClassDefError