如何在python正则表达式中使用'['作为符号

时间:2017-04-17 12:34:50

标签: python python-2.7 python-3.x

我有一个像这样的字符串,

a = '''hai stackoverflow. <help>//(good evening): value ="[i am new to 'python'], i need help"</help>'''

从这个字符串中,我需要将部分字符串从<help>提取到</help>。 这意味着,我的输出应该是

<help>//(good evening): value ="[i am new to 'python'], i need help"</help>

我试过这个表达式

re.search(r'<help> [\w:=">/-/\[\]]*',a).group()

但我收到错误

Traceback (most recent call last):
  File "<pyshell#467>", line 1, in <module>
    re.search(r'<help> [\w:=">/-/\[\]]*',a).group()
AttributeError: 'NoneType' object has no attribute 'group'

1 个答案:

答案 0 :(得分:2)

您收到AttributeError,因为re.search返回None,因此没有group()方法。
如果您更改此行:

re.search(r'<help> [\w:=">/-/\[\]]*',a).group()

到此:

search_result = re.search(r'<help> [\w:=">/-/\[\]]*',a)
if search_result : 
    search_result = search_result.group()

你将摆脱AttributeError

您可以使用\转义字符,但在这种情况下,您可以更轻松地获取desiered结果:

print(re.search('<help>(.*?)</help>', a).group())
<help>//(good evening): value ="[i am new to 'python'], i need help"</help>