我有一组字符串,其中嵌入了数字.它们看起来像/ cal/long/3/4/145:999或/ pa/metrics/CosmicRay/24:4:bgp:EnergyKurtosis.我想要一个表达式解析器
使用方便.举几个例子,某人应该能够形成一个新的表达.我希望最终用户能够形成新的表达式来查询这组字符串.一些潜在用户是软件工程师,其他人是测试人员,一些是科学家.
允许对数字进行约束.类似'/ cal/long/3/4/143:#> 100&<1110'来指定带有'/ cal/long/3/4/143:'的字符串前缀,然后是(100,1110)之间的数字是期待.
支持'|' 和.因此表达式'/ cal /(long | short)/ 3/4 / '将匹配'/ cal/long/3/4/1:2'以及'/ cal/short/3/4/1:2 ".
有Java实现可用或易于在Java中实现.
有趣的替代想法会很有用.我也很想要实现我需要的正则表达式子集以及数值约束.
谢谢!
没有理由重新发明轮子!正则表达式引擎的核心是建立在数学和计算机科学的坚实基础之上; 我们今天继续使用它们的原因是它们主要是合理的,并且在可预见的将来不会得到改善.
如果您确实找到或创建了一些替代解析语言,只涵盖了Regex可以实现的可能性的一部分,那么您很快就会有一个用户要求一个可以在Regex中表达的概念,但您的味道很简单.花时间解决尚未解决的问题!