0

私は自分のウェブサイトを処理していて、ページのいくつかのことを変更したいと思っています。

次の文字列を置き換えたいと思っています。

in the
<SPAN class="Bold">
More...
</SPAN>
column to your right.

<span>時々、タグがありません:

in the
More...
column to your right.

これを「下」に置き換えたいと思います。Pythonで単純なreplace()を使用してこれを実行しようとしましたが、テキストに<span>タグがなく、複数行にあるため、機能しないようです。私の唯一の考えは正規表現を使用することですが、私は正規表現に精通していません、誰かが手を貸すことができますか?

ありがとう

Eef

4

2 に答える 2

2

文字列「foo」にhtmlテキストがあるとすると、Pythonでこれを行うコードは次のようになります。

import re
#re.DOTALL is used to make the . match all characters including newline
regexp = re.compile('in the.*?More\.\.\..*?column to your right\.', re.DOTALL)
re.sub(regexp, 'below', foo)
于 2009-06-26T15:54:14.307 に答える
0

これを試して:

import re
pattern = re.compile('(?:<SPAN class="Bold">\s*)?More\.\.\.(?:\s*</SPAN>)?')
str = re.sub(pattern, 'below', str)

構文は、(?:…)後方参照として参照できない非キャプチャグループです。

于 2009-06-30T11:49:53.733 に答える