js中的正則表達(dá)式

首先就正則兩個(gè)字解釋:顧名思義,正則可以理解為正確的規(guī)則.
先來復(fù)習(xí)一遍js中對(duì)字符串的操作

search()尋找字符串中某字符第一次出現(xiàn)的位置(下標(biāo)),若找不到返回-1.
substring(a,b)不包含結(jié)束位置,ab指的是下標(biāo).獲取a到b之間的字符.
charAt(a),根據(jù)下標(biāo)找出字符串里的字符.注意search返回下標(biāo),而charAt返回字符.
split("-")在字符串中若有"-",則用"-"分割字符串,返回?cái)?shù)組.
match(re)匹配 檢索字符串,按照re的規(guī)則提取出來字符串,返回?cái)?shù)組
replace(a,b)將a替換為b

正則表達(dá)式可以極大簡(jiǎn)化普通字符串操作(簡(jiǎn)化90%吧,不夸張的說)
正則表達(dá)式僅僅是一個(gè)計(jì)算機(jī)方便識(shí)別并操作字符串的式子,
RegExp是其大名,但是比較麻煩,比如

var str="abAd";
var re=new Reg Exp("a","i");     第一個(gè)參數(shù)即為正則表達(dá)式,第二個(gè)參數(shù)(即正則的選項(xiàng))為忽略大小寫,ignore

官方說法是js風(fēng)格的正則,但是它有個(gè)小名更簡(jiǎn)單,以上可以簡(jiǎn)寫為

var str="aijg";
var re=/a/i;

真的是超級(jí)簡(jiǎn)單,所以大家都是用小名.官方說法為perl風(fēng)格.
除了直接寫要找的字符外,正則還有一些轉(zhuǎn)義(轉(zhuǎn)變意義)字符更方便
\d digital代表某個(gè)數(shù)字, \D 大寫就代表相反區(qū)間[^0-9],
[]表示在一個(gè)范圍內(nèi)取一個(gè)值例如/1a2|1b2|1c2/可以簡(jiǎn)寫為/1[abc]2/
^在[]中代表排除,意為除此之外.-代表范圍,0-9代表0到9的數(shù)字,
\w word 字符[a-z0-9_] \W大寫代表相反[^a-z0-9_]
\s space 空白 代表空格,制表符等空的東西 \S相反,所有不空的東西
正則里的量詞:{m,n}代表m到n個(gè)字符,不寫m代表最多n個(gè),不寫n代表至少m個(gè),只寫m代表正好m個(gè)例如
\d{m,n}意為m到n個(gè)數(shù)字,+表示多個(gè)的意思例如/\d+/,多個(gè)數(shù)字.相當(dāng)于\d{1,}.*表示{0,}但不建議用,?等于{0,1},\.代表.(點(diǎn))
^不在[]里,代表行首,$代表行尾,例如var re=str.repalce(/^\s+|\s+$/g,"");替換字符串左右兩邊的空格為空(去掉行首尾空格);
|是或的意思g是global 正則選項(xiàng),全局匹配,意為全部.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 對(duì)于正則,著稱火星文字,見名知意主要它晦澀難懂,一直以來,看到它總是怕怕的,在平時(shí),也只是簡(jiǎn)單的用用,其主要...
    itclanCoder閱讀 904評(píng)論 0 2
  • 一、什么是正則表達(dá)式 正則表達(dá)式,又稱正規(guī)表示法,是對(duì)字符串操作的一種邏輯公式。正則表達(dá)式可以檢測(cè)給定的字符串是否...
    木馬不在轉(zhuǎn)閱讀 2,213評(píng)論 8 21
  • 文章轉(zhuǎn)載地址: http://www.open-open.com/code/view/1430625516632 ...
    得起一個(gè)清新脫俗的名字閱讀 2,288評(píng)論 1 3
  • 正則表達(dá)式到底是什么東西?字符是計(jì)算機(jī)軟件處理文字時(shí)最基本的單位,可能是字母,數(shù)字,標(biāo)點(diǎn)符號(hào),空格,換行符,漢字等...
    獅子挽歌閱讀 2,282評(píng)論 0 9
  • 姓名:周文福 公司:東莞耀升機(jī)電有限公司 反省組 【日精進(jìn)打卡第30天】 【知-學(xué)習(xí)】 1.朗誦六項(xiàng)精進(jìn)大綱1遍累...
    周文福閱讀 183評(píng)論 0 0

友情鏈接更多精彩內(nèi)容