verbal_expressions 0.2.0 copy "verbal_expressions: ^0.2.0" to clipboard
verbal_expressions: ^0.2.0 copied to clipboard

outdatedDart 1 only

A package that helps to construct difficult regular expressions.

example/verbal_expressions_example.dart

library verbal_expressions_example.example;

import 'package:verbal_expressions/verbal_expressions.dart';

main() {
  var result = matchUrl('https://www.google.com'); // true
  // ...

  String phoneWithSpace = "+097 234 243";
  result = matchTelephoneNumber(phoneWithSpace); //true
  // ...

  String phoneWithoutSpace = "+097234243";
  result = matchTelephoneNumber(phoneWithoutSpace); // true
  // ...

  String phoneWithDash = "+097-234-243";
  result = matchTelephoneNumber(phoneWithDash); // true
  // ...

  var domain = getDomain('https://www.google.com');
  print(domain); // .com

  domain = getDomain('http://ru.wikipedia.org/wiki/Dart');
  print(domain); // .org

  var expression = new VerbalExpression()
    ..find('dog')
    ..stopAtFirst()
    ..withAnyCase();

  var testString = expression.replace('Replace first DoG in the sentence but do not touch second dog', 'cat');

  print(testString); // Replace first cat in the sentence but do not touch second dog
}

String getDomain(String url) {
  var expression = new VerbalExpression()
    ..startOfLine()
    ..then("http")
    ..maybe("s")
    ..then("://")
    ..maybe("www.")
    ..anythingBut(" ")
    ..beginCapture()
    ..then('.')
    ..anythingBut('/')
    ..endCapture()
    ..anything()
    ..endOfLine();

  return expression.toRegExp().firstMatch(url).group(4);
}

bool matchTelephoneNumber(String number) {
  var regex = new VerbalExpression()
    ..startOfLine()
    ..then("+")
    ..beginCapture()
    ..range([new Range('0', '9')])
    ..count(3)
    ..maybe("-")..maybe(" ")
    ..endCapture()
    ..count(3)
    ..endOfLine();

  return regex.hasMatch(number);
}

bool matchUrl(String url) {
  var regex = new VerbalExpression()
    ..startOfLine()
    ..then("http")
    ..maybe("s")
    ..then("://")
    ..maybe("www.")
    ..anythingBut(" ")
    ..endOfLine();

  return regex.hasMatch(url);
}
18
likes
0
pub points
79%
popularity

Publisher

unverified uploader

A package that helps to construct difficult regular expressions.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

More

Packages that depend on verbal_expressions