Python3.7:多行字符串之间字符串的正则表达式?

Python3.7:多行字符串之间字符串的正则表达式?,python,regex,python-3.x,Python,Regex,Python 3.x,我想在以下目录中找到30850: <div class='user-information__achievements-heading' data-test-points-title> Points </div> <div class='user-information__achievements-data' data-test-points-count> 30,850 </div> </d

我想在以下目录中找到
30850

  <div class='user-information__achievements-heading' data-test-points-title>
    Points
    </div>
    <div class='user-information__achievements-data' data-test-points-count>
    30,850
    </div>
    </div>

(返回
)?

除此之外,我完全同意(顺便说一句,读起来真的很有趣)如果你只有这段文字,并且需要快速的
重新搜索
,一个简单的
r'\d+,\d+'
就可以了……:

import re

s = '''<div class='user-information__achievements-heading' data-test-points-title>
    Points
    </div>
    <div class='user-information__achievements-data' data-test-points-count>
    30,850
    </div>
    </div>'''

re.search(r'\d+,\d+', s)
<re.Match object; span=(179, 185), match='30,850'>
重新导入
s='''
要点
30,850
'''
重新搜索(r'\d+,\d+,s)

您需要
re.DOTALL
,因为默认情况下
与换行符和换行符不匹配

re.compile(YOUR_REGEX, flags=re.S)

您还可以使用
(?s)
预先编写您的正则表达式,以获得相同的效果。

不需要正则表达式,只需执行以下操作:

i="    <div class='user-information__achievements-data' data-test-points-count>"
print(s.splitlines()[s.splitlines().index(i)+1].lstrip())

您还可以通过bs4搜索文本

from bs4 import BeautifulSoup

tx = """
  <div class='user-information__achievements-heading' data-test-points-title>
    Points
    </div>
    <div class='user-information__achievements-data' data-test-points-count>
    30,850
    </div>
    </div>
"""

bs = BeautifulSoup(tx,"lxml")
result = bs.find("div",{"class":"user-information__achievements-data"}).text
print(result.strip()) # 30,850
从bs4导入美化组
tx=”“”
要点
30,850
"""
bs=美联(tx,“lxml”)
result=bs.find(“div”,“class”:“user-information\uuuu-data”})
打印(result.strip())#30850

我希望您不要试图更好地使用
BeautifulSoup
解析html
i="    <div class='user-information__achievements-data' data-test-points-count>"
print(s.splitlines()[s.splitlines().index(i)+1].lstrip())
30,850
from bs4 import BeautifulSoup

tx = """
  <div class='user-information__achievements-heading' data-test-points-title>
    Points
    </div>
    <div class='user-information__achievements-data' data-test-points-count>
    30,850
    </div>
    </div>
"""

bs = BeautifulSoup(tx,"lxml")
result = bs.find("div",{"class":"user-information__achievements-data"}).text
print(result.strip()) # 30,850