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

ASM代码行内注释前代码匹配的正则表达式问题

ASM代码行内注释前代码的正则匹配方案

需求明确

要从带行内注释(以;开头)的ASM代码行中,提取包含行首制表符的注释前有效代码,过滤掉注释前的空白/制表符,同时忽略注释内容。例如从目标行中提取出 nl = 10和 maxLen = 256(其中 为行首制表符)。

可行正则表达式

^(\t.*?)\s*;

正则说明

  • ^:锚定到行的起始位置,确保只匹配行首带制表符的行
  • (\t.*?):捕获组,匹配行首的制表符后,用非贪婪模式匹配任意字符,直到遇到注释前的空白
  • \s*;:匹配注释前的任意空白(空格/制表符),以及注释开头的;,这部分不纳入捕获结果

测试示例

针对以下ASM代码行:

nl = 10   ; 换行符ASCII码
maxLen = 256   ; 缓冲区最大长度

使用上述正则匹配后,捕获组1将分别得到 nl = 10和 maxLen = 256,完全符合需求。

原正则问题说明

之前使用的(\t.*)(?!\s\t);未处理注释前的空白内容,且贪婪匹配会把注释前的所有空白也包含到结果中,无法满足过滤空白的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 07:10:43