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

如何使用正则表达式提取交易记录中不等于BNB的Token币种?

原正则问题分析

  • 你写的[^BNB]是字符集取反规则,仅表示匹配单个不为B/N的字符,不是排除完整的BNB字符串,这是正则使用的常见误区
  • 后向断言(?<=\d\w )逻辑错误,你的金额行结构为「数值+空格+币种」,金额末尾是数字,不是数字加字母,无法正确定位币种的起始位置

正确正则写法

如果你需要仅排除完全等于BNB的币种,保留WBNB、RBH:

使用正则:(?<=\d\s)(?!BNB\b)\w+

  • (?<=\d\s):正向后向断言,定位到「数字+空格」后的位置,也就是币种的起始位置
  • (?!BNB\b):负向前行断言,保证当前位置后面不是完整的BNB单词(\b为单词边界,避免误判包含BNB的其他币种)
  • \w+:匹配币种的所有字母数字字符

如果你需要排除所有包含BNB的币种,仅保留RBH(符合你本例的预期):

使用正则:(?<=\d\s)(?!\w*BNB\b)\w+

  • 对比上面的写法,仅在负向断言里增加了\w*,表示只要币种字符串里任意位置出现BNB就排除

匹配验证

用上述第二种正则匹配你提供的样本文本,最终结果仅会返回RBH,完全符合你的预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:39:02