Last updated:
0 purchases
regex range
Regex Range #
Generates a Regular Expression that matches a range of numbers or characters.
Features #
Number ranges: range(1, 100)
Negative to positive number ranges: range(-100, 100)
Character ranges: range('A', 'Z')
Case insensitive character ranges: range('a', 'Z')
Getting Started #
dart pub add regex_range
copied to clipboard
And import the package:
import 'package:regex_range/regex_range.dart';
copied to clipboard
Usage #
To generate a regex, you may use the range function to generate both number and character ranges, depending on what's passed in.
A number range is generated when passing numbers, and a character range is generated when passing strings of a single character.
Alternatively, you may use the numberRange and charRange functions to generate a number or character range, respectively.
Expression Pattern #
You can get the generated expression pattern by using the pattern property of the RegExp object.
final regex = range(0, 255);
print(regex.pattern); // 25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9]
copied to clipboard
You may also use the exact parameter to generate an exact match, this will add ^ and $ to the expression to ensure it matches as a whole.
Number Range #
final regex = range(-10, 10, exact: true);
// or
final regex = numberRange(-10, 10, exact: true);
print(regex.hasMatch('-5')); // true
print(regex.hasMatch('5')); // true
print(regex.hasMatch('11')); // false
copied to clipboard
Character Range #
Case sensitivity is disabled when passing 2 characters with a different case. Case sensitivity can be set manually with the caseSensitive parameter in the charRange function.
final regex = range('b', 'Y', exact: true);
// or
final regex = charRange('B', 'Y', caseSensitive: false, exact: true);
print(regex.hasMatch('b')); // true
print(regex.hasMatch('Y')); // true
print(regex.hasMatch('Z')); // false
copied to clipboard
Generated Regex #
The expressions below are not the exact expressions generated by the package, they are the simplified and equivalent.
Number Range #
Range
Expression
0, 5
[0-5]
0, 10
[0-9]|10
25, 100
2[5-9]|[3-9][0-9]|100
-10, 10
-?[0-9]|-?10
Character Range #
Range
Expression
A, Z
[A-Z]
a, z
[a-z]
a, Z
[a-zA-Z]
b, Y
[b-yB-Y]
Contributing #
Contributions are welcome! Please open an issue or pull request if you find a bug or have a feature request.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.