当前位置:  开发笔记 > 编程语言 > 正文

匹配失败的匹配字符串中的正则表达式索引

如何解决《匹配失败的匹配字符串中的正则表达式索引》经验,为你挑选了0个好方法。

我想知道是否有可能在尝试匹配时正则表达式中提取正则表达式失败的给定字符串中的索引位置?

例如,如果我的正则表达式是"abc"并且我试图将其与"abd"匹配,则匹配将在索引2处失败.

编辑以澄清.我需要这个的原因是允许我简化我的应用程序的解析组件.该应用程序是一个Assmebly语言教学工具,允许学生编写,编译和执行程序集程序.

目前我有一个tokenizer类,它使用regex将输入字符串转换为Tokens.这非常有效.例如:

给定以下input ="INP:x:"时,tokenizer将生成以下标记
:

Token.OPCODE, Token.WHITESPACE, Token.LABEL, Token.EOL

然后分析这些标记以确保它们符合给定语句的语法.目前,这是使用IF语句完成的,并且证明是麻烦的.这种方法的好处是我可以提供详细的错误消息.IE

if(token[2] != Token.LABEL) { throw new SyntaxError("Expected label");}

我想使用正则表达式来定义语法而不是烦人的IF语句.但在这样做时,我失去了返回详细错误报告的能力.因此,我至少想告知用户发生错误的WHERE.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有