2014-09-25 118 views
3

我想将正则表达式转换为glob如何将正则表达式转换为extglob表达式?

我正在寻找jakarta oro但我无法找到适合我需求的方法。它编译正则表达式并返回其等值整型

它们都是Type-3语法,所以理论上它应该是可能的。

我不幸受到使用JDK5的限制。

+0

http://stackoverflow.com/questions/1247772/is-there-an-equivalent-of-java-util-regex-for-glob-type-patterns – sol4me 2014-09-25 15:47:02

+2

@ sol4me这是glob - >正则表达式 – Rob 2014-09-25 15:48:52

+0

我不'例如,认为glob可以支持,例如,lookaround。所以这在一般情况下是不可能的。如果您想要了解特定案例的详细信息,则必须更具体......。 – 2014-09-25 15:50:11

回答

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

相关问题