【发布时间】:2013-07-20 08:31:19
【问题描述】:
我有一个增量构建的字符串。在构建字符串时,通过正则表达式将其作为一个整体进行匹配,当找到匹配时,执行特定任务。
我的要求是:如果在字符串构建过程中发现找不到完全匹配的方法,那么应该重置字符串并重新启动构建过程。
例如,如果一个正则表达式是"mada12gaskar",当一个字符"3"被添加到一个现有的字符串"mada1"时,这个字符串应该被清除并且构建过程应该重新开始,因为"mada13"永远不会匹配"mada12gaskar"。这可以通过 Java regex API 实现吗?
【问题讨论】:
-
提供您尝试编写的代码示例以阐明要求。正则表达式是正则表达式,所以匹配应该是可能的,但你需要其他逻辑来“清除你的字符串”。
-
为什么投反对票?这对我来说是一个很好的问题。
-
我不是专家,但你为什么不简单地将最后一个匹配字符串(例如
mada1)存储在一个单独的变量中,该变量会被下一个匹配字符串覆盖?如果给定的字符串(mada13)不匹配,用最后一个匹配的字符串覆盖它,单独存储.. -
您应该添加一个具体的简短示例来说明您想要什么,因为似乎没有人(Marko Topolnik 除外)理解我所理解的问题。据我了解,如果正则表达式为
ab,则a 不匹配,因此您继续并添加另一个字符:ac,并且您想停止,因为无法将字符添加到ac将永远匹配正则表达式ab. -
我对您需要支持的正则表达式子集非常感兴趣。您需要哪些功能?另外,您能否将您的意图表述为 “我需要构建与特定正则表达式匹配的所有字符串。”?还是更像“我需要构建一个与所有这千个正则表达式匹配的字符串。”,或者只是“我需要知道这个字符串是否可以完全匹配正则表达式,如果我们在其上附加了一些东西。”?