How to use RegEx in Dart? How to use RegEx in Dart? dart dart

How to use RegEx in Dart?


I think you tried to include options in the raw expression string while you already have it as parameters to RegEx ( /i for case insensitivity is declared as caseSensitive: false).

// Removed /i at the end// Removed / in front - Thanks to Günter for warningRegExp regExp = new RegExp(  r"^WS{1,2}:\/\/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:56789",  caseSensitive: false,  multiLine: false,);print("allMatches : "+regExp.allMatches("WS://127.0.0.1:56789").toString());print("firstMatch : "+regExp.firstMatch("WS://127.0.0.1:56789").toString());print("hasMatch : "+regExp.hasMatch("WS://127.0.0.1:56789").toString());print("stringMatch : "+regExp.stringMatch("WS://127.0.0.1:56789").toString());

Gives:

allMatches : (Instance of '_MatchImplementation')firstMatch : Instance of '_MatchImplementation'hasMatch : truestringMatch : WS://127.0.0.1:56789


This is a more general answer for future viewers.

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

Examples

Alphanumeric

final alphanumeric = RegExp(r'^[a-zA-Z0-9]+$');alphanumeric.hasMatch('abc123');  // truealphanumeric.hasMatch('abc123%'); // false

Hex colors

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

Extracting text

final myString = '25F8..25FF    ; Common # Sm   [8] UPPER LEFT TRIANGLE';// find a variable length hex value at the beginning of the linefinal regexp = RegExp(r'^[0-9a-fA-F]+'); // find the first match though you could also do `allMatches`final match = regexp.firstMatch(myString);// 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

There are some more examples here.

See also: