背景:我正在为 URL 文件名开发一种自定义的类似正则表达式的语法。它将像这样工作:
- 用户编写一个模式,类似于
"[a-z][0-9]{0,2}"
,并将其作为输入传递 - 它被程序解析并翻译成它所代表的一组排列,即
'a'
,'a0'
,'a00'
...'z99'
这些模式的复杂性会有所不同,基本上任何可能出现在 URL 文件名中的东西都必须适应。该语言是 Java 或 PHP,但任何语言的示例或抽象/概念帮助都非常受欢迎。
我的问题是:
- 从哪里开始实施上述的“解析器”
更不重要的是,
- 如何以编程方式将解析的复杂模式转换为字符串