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

正则表达式无法正常匹配 已确认bat匹配模式正确仍不生效

正则匹配失败核心原因

  • 锚点使用错误:正则末尾的^是行首匹配锚点,仅能匹配字符串/每一行的起始位置,放在正则结尾无任何匹配可能,是匹配失败的核心原因。若需要匹配到行尾,应使用行尾锚点$。
  • 末尾匹配逻辑错误:你写的\\s(.*?)\\s要求最后一段内容前后都有空格,但你的测试文本末尾没有空格,非贪婪模式下.*?会优先匹配空值,导致匹配断裂。
  • 冗余匹配模式:当前测试文本是单行长字符串,不需要使用gm多行匹配模式,多余的模式会提升异常匹配概率。

修正后的代码示例

let text = '0x00d38f0ff55cf1b18841a7e7993eb5b1df791f7be40a828b94e6df90dafd9d722021-11-28 23:08:3918 hrs 5 mins ago0xba4090fb813a5da6c24d53149d98d8539e2469caOUT PancakeSwap V2: HTD-BUSD 1445.871849548172161305 HeroesTD (HTD)';

// 调整锚点、末尾匹配逻辑,移除冗余模式
let regex = new RegExp("(.*?)2021(.*?)ago(.*?)(IN|OUT)(.*?)\\s(.*)$", "");
let result = regex.exec(text);
console.log(result);

额外优化提示

你也可以直接使用正则字面量写法,不需要双重转义反斜杠,降低语法错误概率:

const regex = /(.*?)2021(.*?)ago(.*?)(IN|OUT)(.*?)\s(.*)$/;

运行后可以正确得到所有分组的匹配结果,覆盖你需要提取的各段文本内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:24:06