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.
http://stackoverflow.com/questions/1247772/is-there-an-equivalent-of-java-util-regex-for-glob-type-patterns – sol4me
@ sol4me Это Glob -> регулярное выражение – Rob
Я не» t думаю, что glob имеет любую поддержку, например, для поиска. Так что это невозможно в общем случае. Если вам нужны детали для конкретного случая, вам придется быть более ... конкретным. –