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

如何用单条正则表达式提取等号连接的两组无多余符号的单词

正则合并实现方案

你可以直接使用带两个捕获组的单条正则完成需求,无需拆分匹配:

(\w+)="([^"]*)"

如果需要兼容双引号内存在转义引号的场景,可以使用兼容你原有逻辑的版本:

(\w+)="((?:(?!").)*)"

正则逻辑说明

  • 第一个捕获组(\w+):匹配等号左侧的单词,对应你需要的第一组输出结果
  • 固定匹配=":跳过等号和左侧双引号
  • 第二个捕获组([^"]*)/((?:(?!").)*):匹配双引号包裹的内容,自动排除两端的引号,对应你需要的第二组输出结果
  • 末尾匹配":闭合右侧双引号

使用示例(Python)

import re

test_str = 'bla word1="word2" blabla abc="xyz" bla bla'
result = re.findall(r'(\w+)="([^"]*)"', test_str)
left_list = [item[0] for item in result]
right_list = [item[1] for item in result]

print(left_list)  # 输出:['word1', 'abc']
print(right_list) # 输出:['word2', 'xyz']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:06:08