Flutter Dart 正则RegExp [.....]和[^.....](一)

   日期:2020-09-08     浏览:410    评论:0    
核心提示:卧龙、凤雏二者得一可安天下。——水镜先生DartPad 线上工具正则表达式 - 语法[...] 匹配中括号内所有字符1、匹配所有字符ABC(字符串中是否包含ABC所有字符中任意一个字符)至少包含一个字符为true,否则为falsevoid main() { isABC(A1234656B123456C);}void isABC(String input) { RegExp mobile = new RegExp(r[ABC]); boo..

卧龙、凤雏二者得一可安天下。——水镜先生

DartPad 线上工具

正则表达式 - 语法

[...] 匹配中括号内所有字符

 

1、匹配所有字符ABC字符串中是否包含ABC所有字符中任意一个字符

至少包含一个字符为true,否则为false

void main() {
  isABC('A1234656B123456C');
}

void isABC(String input) {
  RegExp mobile = new RegExp(r'[ABC]');
  bool isAbc = mobile.hasMatch(input);
  print("是否包含ABC中任意字符:${isAbc}");
}
Console
是否ABC:true

2、匹配字符串#@¥%&*()-+字符串中是否包含#@¥%&*()-+所有字符串中任意一个字符

void main() {
  isMatch('123阿范德萨范德萨');
}

void isMatch(String input) {
  RegExp regExpStr = new RegExp(r'[#@¥%&*()-+]');
  bool isContainer = regExpStr.hasMatch(input);
  print("'${input}' 是否包含字符串:'#@¥%&*()-+' 中任意一个字符 ${isContainer}");
}

 运行结果: 

'123阿范德萨范德萨' 是否包含字符串:'#@¥%&*()-+' 中任意一个字符 false
void main() {
  isMatch('1#2@3*');
  isMatch('1#2@3*dfasfds');
  isMatch('1#2@3*dfasfds+dfsf-');
  isMatch('1#2@3*dfasfds+dfsf-4456465¥');
}

void isMatch(String input) {
  RegExp regExpStr = new RegExp(r'[#@¥%&*()-+]');
  bool isContainer = regExpStr.hasMatch(input);
  print("'${input}' 是否包含字符串:'#@¥%&*()-+' 中任意一个字符 ${isContainer}\n");
}

 运行结果: 

'1#2@3*' 是否包含字符串:'#@¥%&*()-+' 中任意一个字符 true

'1#2@3*dfasfds' 是否包含字符串:'#@¥%&*()-+' 中任意一个字符 true

'1#2@3*dfasfds+dfsf-' 是否包含字符串:'#@¥%&*()-+' 中任意一个字符 true

'1#2@3*dfasfds+dfsf-4456465¥' 是否包含字符串:'#@¥%&*()-+' 中任意一个字符 true

3、匹配字符串#@¥%&*()-+字符串中是否包含#@¥%&*()-+所有字符串中任意一个字符

void main() {
  isMatch('我很菜#确实很菜@菜得很*');
  isMatch('中级#初级@资深*专家');
  isMatch('六脉神剑#如来涅槃@浴火重生*游龙引凤+卧薪尝胆-飞龙在天¥');
}

void isMatch(String input) {
  RegExp regExpStr = new RegExp(r'[#@¥%&*()-+]');
  bool isContainer = regExpStr.hasMatch(input);
  print("'${input}' 是否包含字符串:'#@¥%&*()-+' 中任意一个字符 ${isContainer}\n");
}

运行结果:

'我很菜#确实很菜@菜得很*' 是否包含字符串:'#@¥%&*()-+' 中任意一个字符 true

'中级#初级@资深*专家' 是否包含字符串:'#@¥%&*()-+' 中任意一个字符 true

'六脉神剑#如来涅槃@浴火重生*游龙引凤+卧薪尝胆-飞龙在天¥' 是否包含字符串:'#@¥%&*()-+' 中任意一个字符 true

 

[^...] 匹配除开中括号内所有字符 

1、匹配除开字符串 #@¥%&*()-+ 以外的其他字符串(字符串中是否包含除开#@¥%&*()-+所有字符串以外的其他字符) 

至少包含除开字符串 #@¥%&*()-+ 任意字符的之外字符串

void main() {
  isMatch('@#%()+-');
  isMatch('中级#初级@资深*专家');
  isMatch('六脉神剑#如来涅槃@浴火重生*游龙引凤+卧薪尝胆-飞龙在天¥');
  isMatch('卧薪尝胆\飞龙在天');
}

void isMatch(String input) {
  RegExp regExpStr = new RegExp(r'[^-#@¥%&*()+]');
  bool isContainer = regExpStr.hasMatch(input);
  print("'${input}' 是否包含除开字符串:'#@¥%&*()-+' 中任意一个字符 ${isContainer}\n");
}
'@#%()+-' 是否包含除开字符串:'#@¥%&*()-+' 中任意一个字符 false

'中级#初级@资深*专家' 是否包含除开字符串:'#@¥%&*()-+' 中任意一个字符 true

'六脉神剑#如来涅槃@浴火重生*游龙引凤+卧薪尝胆-飞龙在天¥' 是否包含除开字符串:'#@¥%&*()-+' 中任意一个字符 true

'卧薪尝胆飞龙在天' 是否包含除开字符串:'#@¥%&*()-+' 中任意一个字符 true

2、匹配除开字符串  "好好学习,好好爱自己" 以外的其他字符串(字符串中是否包含除开  "好好学习,好好爱自己" 所有字符串以外的其他字符) 

至少包含除开字符串  "好好学习,好好爱自己"  任意字符的之外字符串。

也可以包含 "好好学习,好好爱自己" 任意字符

void main() {
  isMatch('@#%()+-');
  isMatch('中级#初级@资深*专家');
  isMatch('六脉神剑#如来涅槃@浴火重生*游龙引凤+卧薪尝胆-飞龙在天¥');
  isMatch('卧薪尝胆\飞龙在天');
}

void isMatch(String input) {
  RegExp regExpStr = new RegExp(r'[^好好学习,好好爱自己]');
  bool isContainer = regExpStr.hasMatch(input);
  print("'${input}' 是否包含字符串:'好好学习,好好爱自己' 中任意一个字符 ${isContainer}\n");
}
'@#%()+-' 是否包含字符串:'好好学习,好好爱自己' 中任意一个字符 true

'中级#初级@资深*专家' 是否包含字符串:'好好学习,好好爱自己' 中任意一个字符 true

'六脉神剑#如来涅槃@浴火重生*游龙引凤+卧薪尝胆-飞龙在天¥' 是否包含字符串:'好好学习,好好爱自己' 中任意一个字符 true

'卧薪尝胆飞龙在天' 是否包含字符串:'好好学习,好好爱自己' 中任意一个字符 true

 

总结:

 [...] 匹配中括号内所有字符:相当于和括号内容求交集

 [^......]匹配除开括号内所有之外的字符并且可以包含括号内字符:相当于存在除开括号内字符的其他集合并且可以交集括号内容。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服