-3
try:
    pattern=r'<tr><td><a href='(?P<link>[\s\S]*?)'[\s\S]*?><img src='(?P<img>[\s\S]*?)'     width='130' height='130'[\s\S]*?/></a></td>'
except:
    try:
        pattern=r"<tr><td><a href='(?P<link>[\s\S]*?)'[\s\S]*?><img src='(?P<img>[\s\S]*?)' width='130' height='130'[\s\S]*?/></a></td>"
    except:
        pattern=r"""<tr><td><a href='(?P<link>[\s\S]*?)'[\s\S]*?><img src='(?P<img>[\s\S]*?)' width='130' height='130'[\s\S]*?/></a></td>"""

我正在通过工具编写正则表达式,然后生成python代码。在某些情况下,我需要使用 ' 或 " 或 """ 来包装正则表达式。我想尝试/排除错误。如果错误被捕获,那么我可以尝试另一个。但它没有用。有什么帮助吗?

4

2 回答 2

0

您需要在 RE 中转义您的引号。在您的第一行中,所有单引号都需要转义为\'.

不要使用 try 块来修复错误的 RE。只要第一次就做对。

于 2010-10-11T07:03:10.513 回答
0

Python 中的try/except语句用于处理程序运行时发生的错误。另一方面,您会遇到编译期间发生的错误。在这种情况下,try/except不会帮助你。

看起来你最好总是使用"""包含不同类型引号的正则表达式。在 Python 中,唯一不能放在三引号字符串中的是三引号。

于 2010-10-11T07:03:21.763 回答