-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内で引用符をエスケープする必要があります。最初の行では、すべての一重引用符をとしてエスケープする必要があります\'

障害のあるREを修正するためにtryブロックを使用しないでください。初めて正しく行うだけです。

于 2010-10-11T07:03:10.513 に答える
0

Pythonのtry/exceptステートメントは、プログラムの実行中に発生するエラーに使用されます。一方、コンパイル中に発生するエラーが発生しています。この場合、try/exceptは役に立ちません。

"""さまざまな種類の引用符を含む正規表現を常に囲むために使用するのが最善のようです。Pythonでは、トリプルクォートの文字列に入れることができないのはトリプルクォートだけです。

于 2010-10-11T07:03:21.763 に答える