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

如何使用正则表达式提取字符串中Price Our与后续|之间的2个数字

正则提取数字解决方案

你可以直接修改正则表达式,通过捕获组一步提取两个目标数字,无需分两次匹配:

最终正则表达式

Price Our:\s*(\d+\.\d+)\s*=>\s*(\d+\.\d+)\s*(?=\|)

规则说明

  • 两个(\d+\.\d+)为捕获组,分别匹配=>前后的两个带小数的数字,匹配结果会按顺序存入捕获组1和捕获组2
  • \s*用于兼容可能存在的多余空格,提升容错性
  • 末尾的(?=\|)正向预查保证匹配范围截止到下一个|符号,不会匹配到后面的其他内容

常用语言调用示例

Python

import re
target_str = "Delivery: Price => 30.00 - 45.00 | Price Our: 1900.00 => 1800.00 | Delivery: Contact => 3 - 4 Days | "
res = re.search(r'Price Our:\s*(\d+\.\d+)\s*=>\s*(\d+\.\d+)\s*(?=\|)', target_str)
if res:
    num1, num2 = res.groups()
    # 输出结果:1900.00 1800.00

JavaScript

const targetStr = "Delivery: Price => 30.00 - 45.00 | Price Our: 1900.00 => 1800.00 | Delivery: Contact => 3 - 4 Days | ";
const reg = /Price Our:\s*(\d+\.\d+)\s*=>\s*(\d+\.\d+)\s*(?=\|)/;
const res = targetStr.match(reg);
if (res) {
    const [num1, num2] = res.slice(1);
    // 输出结果:1900.00 1800.00
}

如果你坚持要先截取Price Our:到|的区间再二次提取,直接对截取结果全局匹配\d+\.\d+即可得到两个数字。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 17:36:08