我想将正则表达式转换为glob
我正在寻找jakarta oro但我无法找到适合我需要的方法。它编译正则表达式并返回其等效的
它们都是Type-3语法,所以理论上它应该是可能的。
我不幸使用JDK5。
答案 0 :(得分:0)
extglob可以匹配多个正则表达式结构(pattern-list
是一个变更列表):
extglob regex
-------------- -----------------
? [^/]
* [^/]*
. \.
** .
?(pattern-list) (pattern-list)?
*(pattern-list) (pattern-list)*
+(pattern-list) (pattern-list)+
@(pattern-list) (pattern-list)
!(pattern-list) (?!pattern-list)
据我所知,有一些正则表达式在extglob中无法做到的事情:
?????????????? [^abc]
?????????????? \1
?????????????? most look arounds
假设正则表达式中的所有构造都具有extglob等价物,则可以将其转换为extglob形式。这很难,因为正则表达式由CFG代表。而且你正在使用Java,这会迫使你使用邪恶的逃逸转义\\
。
为什么不使用支持正则表达式的其他bash实用程序?与this一样。