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

如何提取单/双引号内内容并移除引号及前后所有内容?

提取引号内内容的解决方案

我来帮你搞定这个问题!用Python的正则表达式就能完美满足你的需求——不用依赖HTML解析库,精准提取单/双引号内部的内容,完全忽略引号前后的所有文本。

实现思路

核心思路是用正则匹配成对的单引号或双引号,然后捕获引号之间的内容。这里特意用非贪婪匹配,确保只取到最近的结束引号,避免多引号场景下的错误匹配。

完整代码示例

import re

def extract_quoted_content(input_text):
    # 匹配双引号或单引号包裹的内容,非贪婪模式捕获内部文本
    pattern = r'["\'](.*?)["\']'
    match_result = re.search(pattern, input_text)
    
    if match_result:
        return match_result.group(1)
    # 如果没有找到引号,可根据需求返回空字符串或None
    return ""

# 测试你的示例
test_case1 = '<script src = "https://example.com/file.js"></script>'
print(extract_quoted_content(test_case1))  # 输出: https://example.com/file.js

test_case2 = "url = 'https://example.com/service/api'"
print(extract_quoted_content(test_case2))  # 输出: https://example.com/service/api

正则表达式解释

  • ["\']:匹配双引号"或单引号'
  • (.*?):非贪婪捕获组,匹配引号内的所有字符(直到遇到下一个相同的引号为止)
  • ["\']:匹配结束的引号

特殊场景补充

如果你的文本里存在转义引号(比如He said "I\'m happy"),可以调整正则表达式来处理这种情况:

pattern = r'["\'](.*?)(?<!\\)["\']'

这里的(?<!\\)是反向断言,确保结束引号没有被反斜杠转义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:42:10