【问题标题】:Regular expression: find function calls正则表达式:查找函数调用
【发布时间】:2012-06-27 17:42:05
【问题描述】:

我想搜索一个 php 文件以查找对我在该文件中定义的函数的所有调用。我有一个数组,其中包含我要搜索的所有函数。如果函数的名称是Foo,那么我有:

match = re.search(r'!(function)Foo\(', line)

line 是我正在查看的当前代码行。我希望它匹配(不需要返回任何东西,只需告诉我有匹配)对函数的所有调用,并且在声明函数时不匹配。 (我是正则表达式的新手,但我已经看到我现在有两个问题)

【问题讨论】:

  • 所以你想让它也匹配调用函数的行?
  • 是的,“使用”这个词对我来说可能是糟糕的语言。编辑。
  • 为什么不使用 PHP 的 token_get_all,预解析并准备好使用,比使用正则表达式搜索更可靠。
  • @Wrikken 因为我是用 Python 写的(试图扩展我的 Python 技能)

标签: python regex python-3.x


【解决方案1】:

您可能需要进行一些回顾:

re.search(r'(?<!function) Foo\(', line)

如果function 放在Foo 之前,则不匹配。

【讨论】:

  • @SomeKittens 只是为了使其成为原始字符串。顺便说一句,这和你做的一样
猜你喜欢
  • 2012-04-12
  • 1970-01-01
  • 2021-06-16
  • 1970-01-01
  • 1970-01-01
  • 2012-02-02
  • 1970-01-01
相关资源
最近更新 更多