0

解决了一个查找 .php 函数体开头的琐碎任务,但是我尝试了却无法获得正则表达式匹配。这是我应该做的工作:

import re
print re.search(r"addToHead(){", "addToHead(){\n\tcode...").group()
# addToHead is the function I'm looking for.
  # --> AttributeError: 'NoneType' object has no attribute 'group'
print re.search(r"addToHead()\{", "addToHead(){\n\tcode...").group()
  # Nor backslashing or double backslash works.
print re.search(r"addToHead()[\{]", "addToHead(){\n\tcode...").group()
print re.search(r"addToHead()[\x7b]", "addToHead(){\n\tcode...").group()
# Noting works...am I missing something??

我也尝试过re.DOTALL同样令人不快的结果。我坐立不安吗?还是一个错误..?

4

2 回答 2

1

括号()用于对正则表达式中匹配的字符串进行逻辑分组。基本上,它们在正则表达式中具有特殊含义。所以你必须逃避括号(),如\(\).

print re.search(r"addToHead\(\){", "addToHead(){\n\tcode...").group()

输出

addToHead(){
于 2013-11-08T09:04:19.030 回答
0

哦,现在,在我发布问题一分钟后,我找到了它,不是花括号,而是标准括号......好吧,我可能应该删除我的问题,但是 [Meta-question] 我可以访问它作为我过去失明的记录?

于 2013-11-08T09:07:24.300 回答