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代码。在某些情况下,我需要使用'或“或”“”来包装正则表达式。我想尝试/除了错误。如果捕获到错误,那么我可以尝试另一个错误。但它没有用。有什么帮助吗?
答案 0 :(得分:0)
您需要在RE内转义引号。在第一行中,所有单引号都需要转义为\'
。
请勿使用try块来修复有故障的RE。只是第一次做对。
答案 1 :(得分:0)
Python中的try
/ except
语句用于在程序运行时发生的错误。另一方面,您遇到编译期间发生的错误。在这种情况下,try
/ except
对您无济于事。
看起来你最好总是使用"""
来包围包含不同类型引号的正则表达式。在Python中,唯一不能放在三引号字符串中的是三引号。