1

これは非常に簡単なはずですが、私はそれを小枝にすることはできません。このhtml文字列から名前を取得したい:

  soup =   </ul>
  Brian
  <p class="f">

私はもう試した:

namePattern = re.compile(r'(?<=</ul>)(.*?)(?<=<p)')
rev.reviewerName = re.findall(namePattern,  str(soup))

namePattern = re.compile(r'</ul>(.*?)<p')

方法を教えてください。ありがとう。

4

1 に答える 1

3

デフォルトでは、.改行には一致しません。re.DOTALLの第二引数に指定する必要がありますre.compile()

これには、キャプチャ グループの一部として改行が含まれることに注意してください。それを望まない場合は、次のように明示的に一致させることができます\s*:

In [5]: re.findall(r'</ul>\s*(.*?)\s*<p', s)
Out[5]: ['Brian']
于 2012-12-18T21:10:43.363 に答える