Skip to content

AndersDJohnson/brace-expansion-java

Repository files navigation

brace-expansion

Build Status Download

Brace expansion from Bash/shell in Java.

Features

  • Brace nesting.
  • Ranges
    • Both integers and characters, including Unicode.
    • Increment ascending or descending.
    • Optional explicit increment step values, positive or negative.

TODO

  • Zero padded number expansion.

Use

For example:

import me.andrz.brace.BraceExpansion;
// ...
List<String> strs = BraceExpansion.expand("pic{{,s},ture{,s}}-{0..2}.{jpg,png}");

generates this list of strings:

pic-0.jpg
pics-0.jpg
picture-0.jpg
pictures-0.jpg
pic-1.jpg
pics-1.jpg
picture-1.jpg
pictures-1.jpg
pic-2.jpg
pics-2.jpg
picture-2.jpg
pictures-2.jpg
pic-0.png
pics-0.png
picture-0.png
pictures-0.png
pic-1.png
pics-1.png
picture-1.png
pictures-1.png
pic-2.png
pics-2.png
picture-2.png
pictures-2.png

This project provides an ANTLR 4 grammar, BraceExpansion.g4.

Install

Maven

<dependencies>
    <dependency>
        <groupId>me.andrz</groupId>
        <artifactId>brace-expansion</artifactId>
        <version>1.0.0</version>
    </dependency>
</dependencies>

Gradle

repositories {
    mavenCentral()
}

dependencies {
    compile 'me.andrz:brace-expansion:1.0.0'
}

Manual

Download JAR from Maven Central.

References

Alternatives

About

Brace expansion from Bash/shell in Java.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published