generateRegex static method

RegExp generateRegex(
  1. String template
)

Implementation

static RegExp generateRegex(String template){
  if(template==''||template=='/') return RegExp(r'^/$');

  final explode = template.split('/');
  var finalRegex = [];
  for(String s in explode){
    if(s.startsWith('<')){
      s = s.replaceAll('<','').replaceAll('>','');
      switch(s.split(':')[0]){
        case 'num':
          finalRegex.add(r'[0-9]+.*[0-9]*');
          break;
        default:
          finalRegex.add(r'[A-Za-z0-9]+');
          break;
      }
    }else{
      finalRegex.add(s);
    }
  }
  finalRegex.removeAt(0);
  return RegExp(r'\/'+finalRegex.join('/'));
}