Dart String Manipulations: Strings RegExp

Dart String Manipulations: Strings RegExp

What is RegExp?

  • Regular expressions are Patterns, and can as such be used to match strings or parts of strings.

  • Regex in Dart works much like other languages. You use the RegExp to define a matching pattern. Then use hasMatch() to test the pattern on a string.

Example:

void main() {
  final alphanumeric = RegExp(r'^[a-zA-Z0-9]+$');
  print(alphanumeric.hasMatch('abc123')); // true
  print(alphanumeric.hasMatch('abc123%'));

  RegExp hexColor = RegExp(r'^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$');
  print(hexColor.hasMatch('#3b5')); // true
  print(hexColor.hasMatch('#FF7723')); // true
  print(hexColor.hasMatch('#000000z')); // false

  final myString = '25F8..25FF    ; Common # Sm   [8] UPPER LEFT TRIANGLE';

// find a variable length hex value at the beginning of the line
  final regexp = RegExp(r'^[0-9a-fA-F]+');

// find the first match though you could also do `allMatches`
  final match = regexp.firstMatch(myString);
  //print(match);

// group(0) is the full matched text
// if your regex had groups (using parentheses) then you could get the
// text from them by using group(1), group(2), etc.
  final matchedText = match?.group(0); // 25F8

  //print(matchedText);
}

Output:

true
false
true
true
false