delphi 第一个字符不能是小数点_元字符的详细解析
生活随笔
收集整理的這篇文章主要介紹了
delphi 第一个字符不能是小数点_元字符的详细解析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上一篇文章介紹了正則的用處以及正則中這些元字符的基本含義,但是如果我們只知道那些元字符的含義,不知道怎么使用和加以練習,那么對于正則我們還只是看見了門檻,并沒有踏入,那么本篇文章就讓我們邁起腳步正式走入正則的世界吧。let's go!
我的學習方式是:記憶元字符的含義 + 例子消化 + 案例練習
首先:咱們的思維導圖來嘍
一、正則的匹配和捕獲
- 匹配:test():查看字符串是否符合這個正則
- 捕獲:exec()
二、元字符詳細解析
重點來嘍,搬好小板凳,準備好好聽課,咳咳咳!1. ^ $
- ^:以那個元字符開頭
- $:以那個元字符結尾
- d:0-9的數字
- {n}:出現n次
- 注意點:想要使用這個,正則表達式中必須含義結尾,否則大于n的次數也是可以測試通過的,只不過捕獲的時候還是捕獲n個
- [n-m]:n與m之間的任意值即可,包括n和m
例子
//匹配的是:以數字開頭的字符串 let reg = /^d/; console.log(reg.test('name')); //false console.log(reg.test('2020name')); //true console.log(reg.test('name2020')); //false//匹配的是:以數字結尾的字符串 let reg = /d$/; console.log(reg.test('name')); //false console.log(reg.test('2020name')); //false console.log(reg.test('name2020')); //true// ^/$兩個都不加匹配的是:字符串中包含符合規(guī)則的內容即可 let reg1 = /d/; //^/$兩個都加匹配的是:字符串只能是和規(guī)則一致的內容 let reg2 = /^d$/案例加強
需求:驗證手機號碼(11位,第一個數字是1,第二位是3-9)//含義就是以1開頭,第二個數字為3-9中的任意一個數字,其余9位隨意數字(注意:必須寫結尾,如果不寫結尾長度大于9也是返回true可以匹配的) let reg = /^1[3-9]d{9}$/;2.
- :轉義字符
- .:除n之外的任意數字 例子
案例加強
需求:匹配字符串‘ d’,設計到了的轉義 (注意:在字符串中也有一些特殊意義的,他們也是需要轉義的。比如n在字符串中不是字符串n而是換行)。因此對于此題的需求‘ d’,代表的是需要匹配一個和一個dlet str = 'd',reg = /^d$/; console.log(reg.test(str));3. x|y
- x|y:x或y
- ():分組或提高優(yōu)先級
例子
//匹配的是:以18開頭或者以29結尾的都可以 //以下的匹配結果都為true let reg = /^18|29$/; console.log(reg.test('18')); console.log(reg.test('29')); console.log(reg.test('129')); console.log(reg.test('189')); console.log(reg.test('1829')); console.log(reg.test('182'));//匹配的是:18或者29中的一個 let reg = /^(18|29)$/; console.log(reg.test('18')); console.log(reg.test('29')); console.log(reg.test('129')); console.log(reg.test('189')); console.log(reg.test('1829')); console.log(reg.test('182'));4.[]
- 中括號出現的字符一般都代表本身的含義(特殊字符就是代表一個普通的符號:‘.’就是代表‘.’,而不是代表除換行之外的任意字符了)
- 中括號中不存在多位數
例子
//匹配的含義是:只能是@或者+的 let reg = /^[@+]$/; console.log(reg.test('@')); //true console.log(reg.test('+')); //true console.log(reg.test('@@')); //false console.log(reg.test('@+')); //false//匹配的含義是:d還是代表0-9 let reg = /^[d]$/; console.log(reg.test('9')); //true console.log(reg.test('')); //false console.log(reg.test('d')); //false//匹配的含義是:1或者8 let reg = /^[18]$/; console.log(reg.test('1')); //true console.log(reg.test('8')); //true console.log(reg.test('18')); //false//匹配的含義是:1或者0-2或者9 let reg = /^[10-29]$/; //匹配的含義是:1或者0-2或者9或(或) let reg = /^[(10-29)]$/;三、常用的正則表達式
3.1 驗證是否為有效數字
規(guī)則分析:- 1.可能出現+ -號、也可能不出現,但是出現也是只有一個;
- 2.整數位是一位的時候可以是0-9,多位的時候首位不能是0;
- 3.小數部分可能有也可能沒有,一旦有后面必須有一位:小數點+數字
3.2 驗證密碼
規(guī)則分析- 數字、字母、下劃線
- 6~16位
3.3驗證真實姓名
規(guī)則:- 1.漢字:/^[u4E00-u9FA5]$/;
- 2.名字長度2-10位;
- 3.可能有譯名:·漢字
3.4 驗證郵箱
規(guī)則:- 郵箱的名字以‘數字字母下劃線-.’幾部分組成,但是-/.不能連續(xù)出現也不能作為開頭 w+((-w+)|(.w+))*;
- @ 后面可以加數字字母,可以出現多位 @[A-Za-z0-9]+ ;
- 對@后面名字的補充:多域名 .http://com.cn ;企業(yè)域名 (.|-)[A-Za-z0-9]+)*
- .com/.cn等域名 .[A-Za-z0-9]+
3.5 身份證號
規(guī)則- 18位
- 最后一位是數字或者X
- 前6位是省市縣
- 后四位是年
- 后兩位是月 01-12
- 后兩位是日 01-31
- 最后四位
- 最后一位:X或者數字
- 倒數第二位:偶數:女 奇數:男 小括號分組的作用:分組捕獲,不僅可以把大正則匹配信息捕獲到,還可以單獨捕獲到每個小分組的內容
總結
以上是生活随笔為你收集整理的delphi 第一个字符不能是小数点_元字符的详细解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WIN7无法卸载掉中文繁体注音输入法
- 下一篇: 微软MDT 安装与配置(二)