根据正则表达式上一行的内容查找所有数字

时间:2018-08-23 19:20:07

标签: python regex

我想查找所有出现在大字符串中的数字。匹配的数字后面必须紧跟平方米,用于保存数字的行上方的字符串必须与土地面积:匹配:

<tr>
<th>土地面积:</th>
<td>10000平方米</td>
</tr>

我该如何在Python中使用正则表达式?

1 个答案:

答案 0 :(得分:2)

您可以使用以下模式:

(?<=土地面积:<\/th>\n<td>)\d+(?=平方米)
  • (?<=土地面积:<\/th>\n<td>)向后查找文字子字符串土地面积:,后跟</th>,后跟换行符和<td>
  • \d+匹配数字。
  • (?=平方米)平方米子字符串的正向搜索。

正则表达式演示here


在Python中:

import re

mystr = '''
<tr>
<th>土地面积:</th>
<td>10000平方米</td>
</tr>
'''

print(re.findall(r'(?<=土地面积:<\/th>\n<td>)\d+(?=平方米)',mystr))

打印:

['10000']