本文主要介紹簡單總結一下正則表達式的語法(正則表達式基礎知識),下面一起看看簡單總結一下正則表達式的語法(正則表達式基礎知識)相關資訊。
4.選擇和分組
(1)分組
字符組[]:意味著匹配幾個字符中的一個。
一個字符組可以簡單地理解為一些字符的組合。一個字符組和普通字符的區(qū)別在于,abc普通字符是指匹配a、b、c,而字符組[abc]是指匹配a、b或c的同一位置;因為字符組本身的含義,這個字符組可以看作是一個普通的特殊字符。
共:共因為它也意味著將一個字符匹配到一個位置上的單個字符的操作也可以對其起作用;如:[a-z]{ 6 };
特殊性:特殊是因為:1。其他字符可能內外有別,比如-、。等。2.同一個位置可以有多個選擇,但這個選擇只限于一個字符;
字符組內外每個字符的區(qū)別:
-:在字符組內,代表一個范圍;只有一個字符表示在字符組之外;
示例:
-字符集之外
腳本類型= 文本/javascript var str = 2016-8-20;;var reg =/16-8/g;console . log(str . match(reg));//16-8/script-在字符集中
腳本類型= 文本/javascript var str = 2016-8-20;;reg =/1[6-8]/g;console . log(str . match(reg));//16 /script-字符組外的普通字符只代表字符本身,所以匹配的是1后面跟著6后面跟著-8的字符串;所以它 第16-8節(jié)
-表示字符組中的一個范圍,所以匹配的是1后跟6到8之間的任意數(shù)量的字符,所以是16;
。:表示字符組中的一個點;表示字符組之外的任何字符(查找單個字符,換行符和行尾除外)。
。在角色群之外。
腳本類型= 文本/javascript var str = 2016-8-20;;var reg =/6.8/g;console . log(str . match(reg));//6-8/腳本。在字符組內
腳本類型= 文本/javascript var str = 2016-8-20;;var reg = /6[。]8/g;console . log(str . match(reg));//null/script。在角色群之外。代表任何字符;所以匹配的是6,后面跟著任意一個字符然后是一串8,所以匹配的是6-8;
在人物群體中,只是一個普通人物代表自己;所以匹配的是6,后面是8。字符串為空;因為不匹配;
字符組也可以分為匹配字符組和排除字符組,主要是因為的含義發(fā)生了變化。
^:·卡雷特;
示例:
在角色組之外
腳本類型= 文本/javascript var str = 韓 ;var reg = /^ha/g;console . log(str . match(reg));///ha/script^在角色集里。
腳本類型= 文本/javascript var str = 韓 ;var reg = /[^0-9]/g;console . log(str . match(reg));// h,a,n/script脫字符號是[]之外的一個錨點,意思是匹配以某個字符開頭的字符或字符串,在[]中表示除了。
注意:[a]表示匹配一個位置不等于a的字符。;不明白這個位置不是a,但是后者可以匹配一個空行。注意這個區(qū)別。
示例:
腳本類型= 文本/javascript var str = 韓 ;var reg = /n[^q]/g;console . log(str . match(reg));//null/script注意:本例n后面沒有任何字符,所以匹配結果為空。如果按照上面的第二種理解,你可能會認為匹配結果是:n。
不管[]中有多少個字符,在相同的位置只會匹配其中的一個。如果我想在一個位置匹配一個字符串怎么辦?
(2)選擇
這時可以使用加|的組合,在正則表達式中表示或,而在正則表達式中劃分一個范圍;單獨使用時,是沒有意義的,但只有和其他量詞一起使用才會顯示出它的作用(let s講簡單的例子,分別是貪婪匹配和非貪婪匹配,所以我贏了 這里就不解釋了);
示例:
腳本類型= 文本/javascript var str = 2016-8-20;;var reg =/(16-8)/g;console . log(str . match(reg));//16-8/script script type = 文本/javascript var str = 2016-8-20;;var reg =/16-8/g;console . log(str . match(reg));//16-8/script在這個例子中,它不 有沒有括號并不重要,這意味著匹配字符串16-8。
當和|一起使用時,是多選結構,任何一個子表達式都可以匹配一個范圍;|表示選擇方向。
示例:
腳本類型= 文本/javascript var str = 格雷格雷 ;var reg =/gr[ea]y/g;console . log(str . match(reg));// grey,gray reg =/gr(e | a)y/g;console . log(str . match(reg));//grey,gray/script上面兩個匹配的結果都是灰色和灰色,也就是說(|)的分支選擇結構在一定程度上可以用[]代替。
示例:
腳本類型= 文本/javascript var str = 格雷格雷 ;var reg =/gre | ay | yg/g;console . log(str . match(reg));//gre,yg,ay/腳本輸出結果:gre,yg,ay。
是否添加括號對結果有很大影響,例如:
^hello |世界|嗨:匹配是你好或世界或嗨。
(hello | world | hi):。比賽的起跑線是hello或者world或者hi。
注意:雖然多選結構有時可以用字符組來表示,也可以互相表示,但是一個字符組只能匹配目標文本中的單個字符,而每個多選結構本身可能是完整的、規(guī)則的,可以匹配任意長度的文本。
正則表達式中需要注意的幾點:
1.在正則表達式中,空格字符也被視為常規(guī)字符;
2.-;。;[]內和[]外的*含義不一樣。注意區(qū)別;注意字符組內外元字符的區(qū)別;
3.當[]加到幾個字符上時,字符串被視為一個字符組,但對單個字符進行操作。*等等也可以,量詞的混合使用和量詞的混合使用以及分組選擇會有一個貪婪和非貪婪匹配的概念,單獨總結;
4.分支結構和字符組的區(qū)別;分支可以匹配任何長度的文本;一個字符集只能匹配一個字符;
5.注意一些概念的理解:比如【x】的意思是 匹配不等于x的字符。;而不是 只有當這個位置不是x來匹配 ;[x]背后的概念可以匹配{x,y}中的一個空行,?*理解;
6.決定匹配成功的是{x,y}中的x,x對匹配成功起著關鍵作用。
以上就是邊肖為大家?guī)淼恼齽t表達式語法知識深度了解的全部敘述。希望對你有幫助。如果您有任何問題,請給我留言,邊肖將及時回復您。非常感謝您對本頁的支持!
標簽:
匹配字符表示
了解更多簡單總結一下正則表達式的語法(正則表達式基礎知識)相關內容請關注本站點。
電腦硬盤怎么安裝視頻教程,西數(shù)硬盤安裝視頻教程
優(yōu)啟通支持nvme嗎,優(yōu)啟通對bios 和 uefi 不用區(qū)分嗎
筆記本顯卡的樣子(筆記本顯卡是什么樣子)
電腦突然開不了機是怎么回事兒,電腦開不了機是怎么回事
小白一鍵系統(tǒng)重裝怎么樣(小白一鍵重裝系統(tǒng)安裝在哪個盤)
簡單總結正則表達式的語法(正則表達式基礎知識)
1000塊主機最好配置,1000元左右的電腦配置
三星note2 n719怎么樣,誰能告訴我三星NOTE2怎么樣
dns錯誤不能上網(wǎng)怎么辦(dns出錯連不上網(wǎng))
惠普打印機墨盒怎么加碳粉(惠普打印機加墨粉視頻教程)
oppor9無法root怎么辦,手機oppor9 root不了怎么辦
華碩電腦啟動u盤裝系統(tǒng)教程(華碩電腦用u盤重裝系統(tǒng)教程圖解)
win8系統(tǒng)恢復出廠設置教程(win8恢復出廠設置教程)
電腦有的軟件名稱出現(xiàn)亂碼 是怎么回事(電腦下載軟件名稱亂碼)
微信怎樣刪除視頻號功能(微信怎樣刪除視頻號里的視頻)
筆記本電腦配置清單表,手提電腦配置
nvme固態(tài)驅動怎么裝,請問怎樣把系統(tǒng)導入到NVME固態(tài)盤
工程繪圖筆記本電腦排名,推薦一電腦1性能可以反應要快2用于工程制圖做圖能力出眾3
愛奇藝連續(xù)包月1元是什么意思呀(愛奇藝連續(xù)包月一元是什么意思)
蘋果6的字體怎么改,蘋果手機怎樣調字體