与大括号匹配的regEx与我尝试的任何方式都不匹配

时间:2013-11-08 09:03:36

标签: python regex

解决了一个寻找.php函数体开始的琐碎任务,我无法得到一个regEx匹配但是我试过了。这就是我应该做的工作:

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同样令人不快的结果。我是不是坐在我的神经上?还是一个bug ..?

2 个答案:

答案 0 :(得分:1)

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

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

<强>输出

addToHead(){

答案 1 :(得分:0)

哦,现在,在我发布问题后一分钟我找到它,它不是大括号,而是标准括号......好吧,我应该删除我的问题,但是[元问题]我会能够作为我过去失明的记录来访问它吗?