【发布时间】:2010-10-05 14:03:24
【问题描述】:
我有一组字符串,其中嵌入了数字。它们看起来像 /cal/long/3/4/145:999 或 /pa/metrics/CosmicRay/24:4:bgp:EnergyKurtosis。我想要一个表达式解析器是
- 易于使用。举几个例子,某人应该能够形成一个新的表达方式。我希望最终用户能够形成新的表达式来查询这组字符串。有些潜在用户是软件工程师,有些是测试人员,有些是科学家。
- 允许对数字进行限制。类似 '/cal/long/3/4/143:#>100&
- 支持“|”和。所以表达式 '/cal/(long|short)/3/4/' 将匹配 '/cal/long/3/4/1:2' 以及 '/cal/short/3/4 /1:2'。
- 有可用的 Java 实现或很容易用 Java 实现。
有趣的替代想法会很有用。我也在考虑只实现我需要的正则表达式子集以及数字约束的想法。
谢谢!
【问题讨论】:
-
这就是正则表达式的设计目的。
-
我不太明白您为什么要替代正则表达式。如果你能解释一下,也许它会帮助我们给出一个好的答案。我的建议是使用符合您需求的正则表达式子集。
-
啊;我知道了。您列表中的 #2 超出了大多数普通正则表达式引擎的范围。 :)
-
没错,对数字的限制使得使用普通的正则表达式变得困难。否则我只会使用它们,不会问这个问题。 :)