You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单条正则表达式匹配含section和front的字符串(适配BeautifulSoup)

搞定你的正则匹配 + WSJ页面主体内容提取需求

1. 匹配同时包含section和front的正则表达式

你需要的是能匹配同时包含section和front两个词的字符串(不管它们的顺序、中间有没有连字符/其他字符),这里有两种好用的写法:

写法一(直观易懂)

.*section.*front.*|.*front.*section.*

原理是分别匹配“section在前front在后”和“front在前section在后”的情况,覆盖所有顺序可能。

写法二(更简洁高效,用正向预查)

(?=.*section)(?=.*front).+
  • (?=.*section):提前检查字符串里存在section(不管在哪个位置)
  • (?=.*front):同理检查存在front
  • .+:匹配整个符合条件的片段(如果是匹配HTML的class属性,直接用这个就行,不需要加首尾锚定符)

2. 结合BeautifulSoup提取WSJ页面主体内容

针对你提到的目标页面,假设主体内容在带有包含section/front类名的div里,直接上可运行的代码:

import re
from bs4 import BeautifulSoup
import requests

# 获取页面HTML
response = requests.get("https://www.wsj.com/news/business")
soup = BeautifulSoup(response.text, "html.parser")

# 用正则匹配class包含section和front的div
target_div = soup.find("div", class_=re.compile(r"(?=.*section)(?=.*front)"))

# 提取内容(这里示例提取格式化后的文本,你也可以根据需要获取完整HTML结构)
if target_div:
    main_content = target_div.get_text(strip=True, separator=" ")
    print("提取到的主体内容:\n", main_content)
else:
    print("未找到符合条件的主体div")

小提醒:运行前要确保已经安装了requests和beautifulsoup4库,用pip install requests beautifulsoup4就能快速安装。

如果实际页面的div还有其他特征(比如特定id),你可以在find方法里补充条件,比如soup.find("div", id="main-content", class_=re.compile(...))来缩小匹配范围,提升准确性。

内容的提问来源于stack exchange,提问作者Niner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:40:56