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

如何使用正则表达式匹配字符串表达式中以@开头的变量名?

正则提取@前缀变量的解决方案

核心正则

你可以用@([a-zA-Z0-9_]+)完成提取,正则的第一个捕获组会直接返回去掉@符号的变量名,不需要额外做字符串切割。

用法示例

JavaScript

const expression = '@day1 - @day2 > 3'
const reg = /@([a-zA-Z0-9_]+)/g
const result = []
let matched
while((matched = reg.exec(expression)) !== null) {
  result.push(matched[1])
}
// 最终result输出为 ['day1', 'day2']

Python

import re
expression = '@day1 - @day2 > 3'
reg = r'@([a-zA-Z0-9_]+)'
result = re.findall(reg, expression)
# 最终result输出为 ['day1', 'day2']

适配修改说明

如果你的变量名规则允许除了字母、数字、下划线之外的字符,直接修改正则中[a-zA-Z0-9_]部分的匹配规则即可,比如允许短横线的话改为[a-zA-Z0-9_-]。
该正则支持提取表达式内所有@开头的变量,不限于示例中的day1、day2两个变量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:06:03