regex_range

Last updated:

0 purchases

regex_range Image
regex_range Images
Add to Cart

Description:

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.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.