A library for Dart developers that helps to construct difficult regular expressions.
Dart package info is here: https://pub.dartlang.org/packages/verbal_expressions
var regex = VerbalExpression()
..startOfLine()
..then("http").maybe("s")
..then("://")
..maybe("www.").anythingBut(" ")
..endOfLine();
// Create an example URL
String url = "https://www.google.com";
// Use VerbalExpression's hasMatch() method to test if the entire string matches the regex
regex.hasMatch(url); //True
regex.toString(); // Outputs the regex used: ^http(s)?\\:\\/\\/(www\\.)?([^\\ ]*)\$
var regex = VerbalExpression()..startOfLine()..then("abc")..or("def");
var testString = "defzzz";
//Use VerbalExpression's hasMatch() method to test if parts if the string match the regex
regex.hasMatch(testString); // true
Feel free to use any predefined char groups:
var regex = VerbalExpression()
..wordChar()..nonWordChar()
..space()..nonSpace()
..digit()..nonDigit();
Define captures:
var expression = VerbalExpression()
..find("a")
..beginCapture()..find("b")..anything()..endCapture()
..then("cd");
RegExp regex = expression.toRegExp();
var match = regex.firstMatch(text);
print(match.group(0)); // returns "abcd"
print(match.group(1)); // returns "b"
More examples are in example file
Please find feature requests and bugs at the issue tracker.
You can view all implementations on VerbalExpressions.github.io
[ Javascript - PHP - Python - C# - Objective-C - Ruby - Groovy - Haskell - C++ - ... (moarr) ]