正则表达式的替代项
我有一组嵌入了数字的字符串。它们看起来像 /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中实现。
有趣的替代想法将是有用的。我还考虑了实现我需要的正则表达式子集以及数值约束的想法。
谢谢!