一,部分属性

RegExp exp = new RegExp(r"(\w+)");

  • 返回正则表达式的哈希码

    print(exp.hashCode);
  • 正则表达式是否区分大小写

    print(exp.isCaseSensitive);
  • 正则表达式是否匹配多行

    print(exp.isMultiLine);
  • 返回源正则表达式字符串

    print(exp.pattern);
  • 返回对象运行时的类型

    print(exp.runtimeType);

二,常用方法

RegExp exp = new RegExp(r"(\w+)");

  • 返回正则表达式匹配项的可迭代对象

    print(exp.allMatches("abc def ghi"));
  • 搜索并返回第一个匹配项,没有则返回null

    print(exp.firstMatch(""));
  • 正则表达式是否找到匹配项

    print(exp.hasMatch("as"));
  • 从第几个字符开始匹配正则表达式

    print(exp.matchAsPrefix("ab cd", ));
  • 返回正则表达式的第一个匹配字符串

    print(exp.stringMatch("abc de"));
  • 返回正则表达式的字符串表示

    print(exp.toString());

三,实用案例

  • 验证邮政编码的正则,返回是否匹配的布尔值

    RegExp postalcode = new RegExp(r'(\d{6})');
    print(postalcode.hasMatch(""));
  • 验证手机号码的正则,以Iterable< Match >返回所有匹配项

    RegExp mobile = new RegExp(r"(0|86|17951)?(13[0-9]|15[0-35-9]|17[0678]|18[0-9]|14[57])[0-9]{8}");
    Iterable<Match> mobiles = mobile.allMatches("13812345678 12345678901 17012345678");
    for (Match m in mobiles) {
    String match = m.group();
     print(match);
    }
  • 验证网址URL的正则,如果匹配成功以Match返回匹配项,否则返回null

    RegExp url = new RegExp(r"^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+");
    print(url.firstMatch("http://www.google.com"));
  • 验证身份证号码的正则,返回第一个匹配的字符串

    RegExp identity = new RegExp(r"\d{17}[\d|x]|\d{15}");
    print(identity.stringMatch("My id number is 35082419931023527x"));

【Dart学习】--Dart之正则表达式相关方法总结的更多相关文章

  1. 【Dart学习】--之Iterable相关方法总结

    一,概述 按顺序访问的值或元素的集合, List集合也是继承于Iterable List和Set也是Iterable,dart:collection库中同样有很多 部分Iterable集合可以被修改 ...

  2. 【Dart学习】--之Duration相关方法总结

    一,概述 Duration表示从一个时间点到另一个时间点的时间差 如果是一个较晚的时间点和一个较早的时间点,Duration可能是负数 二,创建Duration 唯一的构造函数创建Duration对象 ...

  3. [dart学习]第四篇:函数和操作符(本篇未完待续)

    接着学习dart的函数和操作符. 1.函数Function dart是一种真正的面向对象的语言,通常一个函数也是Function类型的对象,这也就是说可以把函数赋值给一个变量,或者作为另一个函数的入参 ...

  4. [dart学习]第二篇:dart变量介绍 (一)

    前言 本文的所有内容均是官方文档的简单翻译和理解,需要查看原文,请登录  https://www.dartlang.org/guides/language/language-tour  阅读, 让我们 ...

  5. Dart 学习资料

    Dart 学习资料: 学习资料 网址 Dart 编程语言中文网 http://dart.goodev.org/ Dart 官方包仓库 https://pub.dartlang.org/ 你想了解的Da ...

  6. [dart学习]第五篇:操作符

    前言:本系列内容假设读者有一定的编程基础,如了解C语言.python等. 本节一起来学习dart的操作符,直接拷贝官网的操作符描述表如下: Description Operator unary pos ...

  7. Dart学习笔记-运算符-条件表达式-类型转换

    Dart学习笔记-运算符-条件表达式-类型转换 一.运算符 1.算术运算符 + (加)- (减)* (乘)/ (除)~/ (取整) %(取余) 2.关系运算符 == (等等) != (不等) > ...

  8. 【dart学习】-- Dart之异步编程

    一,概述 编程中的代码执行,通常分为同步与异步两种. 同步:简单说,同步就是按照代码的编写顺序,从上到下依次执行,这也是最简单的我们最常接触的一种形式.但是同步代码的缺点也显而易见,如果其中某一行或几 ...

  9. Dart语言学习( 一) 为什么学习Dart?

    为什么学习Dart? Google及全球的其他开发者,使用 Dart 开发了一系列高质量. 关键的 iOS.Android 和 web 应用. Dart 非常适合移动和 web 应用的开发. 高效 D ...

  10. 简单易懂的Dart》 - Dart语言中文简明教程

    转自:https://www.blackglory.me/straightforward-dart/ Dart是Google公司发布的网络编程语言,其诞生的目的是为了让广大C类OOP程序员们克服Jav ...

随机推荐

  1. jenkins的安装与使用

    以前用过hudson,前段时间听以前同事说,他现在搞jenkins,zookeeper...,现在的项目 也是手动的,所以我也就搞了一个jenkins.期间也遇到好多问题,主要是自己水平不够,网上的都 ...

  2. LOJ 2555 「CTSC2018」混合果汁——主席树

    题目:https://loj.ac/problem/2555 二分答案,在可以选的果汁中,从价格最小的开始选. 按价格排序,每次可以选的就是一个前缀.对序列建主席树,以价格为角标,维护体积和.体积*价 ...

  3. 获取数组NSArray元素的className

    正确读取NSArray里面元素的Class类型的方法 object_getClass(columnsArray.firstObject) 错误的方法是 [columnsArray.firstObjec ...

  4. (66) c# async await

    1.使用 async await 2.返回值 static void Main(string[] args) { Program p = new Program(); Console.WriteLin ...

  5. TypeScript躬行记(5)——类型兼容性

    TypeScript是一种基于结构类型的语言,可根据其成员来描述类型.以结构相同的Person接口和Programmer类为例,如下所示. interface Person { name: strin ...

  6. git配置密钥(私钥、ssh、公钥)

    参照: https://blog.csdn.net/weixin_42063071/article/details/80999690 经常帮人配置git的私钥,来总结一下简单的流程真心希望对大家有所帮 ...

  7. Centos 7.3 配置Xmanager XDMCP

    我们通常需要远程桌面,这会带来很好的便利性,而Centos7的XDMCP配置过程发生了变化,添加了很多新特性,初期难免会不适应,但新系统终究还是不错的.下面看看Centos7下如何配置XManager ...

  8. c++primer,自定义一个复数类

    #include<iostream> #include<string> #include<vector> #include<algorithm> #in ...

  9. day 84 Xadmin组件之构建表单数据

    一 .先设置一些相关配置 1. 创建数据库模型. 在app01 下创建 from django.db import models # Create your models here. class Au ...

  10. linux目录及文件命令学习

    学习Linux 目录操作 1.pwd 可以看当前目录路径 2.cd change directory 改变目录,切换目录 cd / 进入跟目录 cd ..返回上级目录 cd 进入用户主目录 cd .. ...