Flutter Dart 正則RegExp [.....]和[^.....](一)
臥龍、鳳雛二者得一可安天下。——水鏡先生
[...] 匹配中括號內所有字元
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
總結:
[...] 匹配中括號內所有字元:相當於和括號內容求交集
[^......]匹配除開括號內所有之外的字元並且可以包含括號內字元:相當於存在除開括號內字元的其他集合並且可以交集括號內容。
相關文章
- Spark SQL,正則,regexp_replaceSparkSQL
- Flutter 知識梳理 (Dart) - Dart 和 Java 有哪些不同?FlutterDartJava
- Flutter(三)之搞定Dart(一)FlutterDart
- mac管理flutter和dart sdk版本MacFlutterDart
- 安裝flutter和dart總結FlutterDart
- JavaScript RegExp(正規表示式) 物件JavaScript物件
- 正規表示式RegExp.input
- [Flutter翻譯]Flutter和Dart中的程式碼分析和提示功能FlutterDart
- (一)Flutter學習之Dart變數和型別系統FlutterDart變數型別
- Flutter學習之Dart語法(一)FlutterDart
- Dart4Flutter – 04 – 非同步和庫DartFlutter非同步
- Dart4Flutter – 03 – 類和泛型DartFlutter泛型
- Flutter Dart mixins 探究FlutterDart
- Dart4Flutter-拾遺01-flutter-dart環境搭建DartFlutter
- Flutter學習記錄(一)Dart學習FlutterDart
- Flutter & Dart三端一體化開發FlutterDart
- js表情正則 手機正則 郵箱正則JS
- Dart4Flutter – 02 –控制流 和異常DartFlutter
- [譯]Flutter - Dart的MixinFlutterDart
- [Flutter]Dart Future詳解FlutterDart
- Flutter - Dart特性語法FlutterDart
- Flutter-Dart網路FlutterDart
- [Flutter翻譯]Flutter/Dart非阻塞解惑FlutterDart
- 正則
- 【-Flutter/Dart 語法補遺-】 sync* 和 async* 、yield 和yield* 、async 和 awaitFlutterDartAI
- ES9的新特性:正規表示式RegExp
- JS正規表示式精簡教程(JavaScript RegExp 物件)JSJavaScript物件
- 如何建立和獲取正則物件?物件
- 正則匹配開頭和結尾
- 如何使用Flutter+Dart開發一個Android APPFlutterDartAndroidAPP
- flutter【3】dart語言--方法FlutterDart
- Flutter(四)之搞定Dart(二)FlutterDart
- Flutter中Dart非同步模型FlutterDart非同步模型
- Flutter:Dart 學習筆記FlutterDart筆記
- Flutter Dart語法學習FlutterDart
- Flutter為什麼使用Dart?FlutterDart
- flutter doctor卡在Unzipping Dart SDKFlutterDart
- Flutter/Dart中的非同步FlutterDart非同步