正規表示式用於定義一些字串的規則,
計算機可以根據正規表示式,來檢查乙個字串是否符合規則,
獲取將字串中符合規則的內容提取出來
語法:
var 變數 =
newregexp
("正規表示式"
,"匹配模式"
);
使用typeof檢查正則物件,會返回object
var reg = new regexp("a");
這個正規表示式可以來檢查乙個字串中是否含有a
在建構函式中可以傳遞乙個匹配模式作為第二個引數,
可以是i 忽略大小寫
g 全域性匹配模式
使用字面量來
建立正規表示式
語法:var 變數 = /正規表示式/匹配模式
使用字面量的方式建立更加簡單
使用建構函式建立更加靈活
裡的內容也是或的關係
[ab] == a|b
[a-z] 任意小寫字母
[a-z] 任意大寫字母
[a-z] 任意字母
[0-9] 任意數字
[^ ] 除了
正規表示式的方法:
test()
- 使用這個方法可以用來檢查乙個字串是否符合正規表示式的規則,
如果符合則返回true,否則返回false
split()
- 可以將乙個字串拆分為乙個陣列
- 方法中可以傳遞乙個正規表示式作為引數,這樣方法將會根據正規表示式去拆分字串
- 這個方法即使不指定全域性匹配,也會全都插分
根據任意字母來將字串拆分
var result = str.
split
(/[a-z]/
);
search()
- 可以搜尋字串中是否含有指定內容
- 如果搜尋到指定內容,則會返回第一次出現的索引,如果沒有搜尋到返回-1
- 它可以接受乙個正規表示式作為引數,然後會根據正規表示式去檢索字串
- serach()只會查詢第乙個,即使設定全域性匹配也沒用
str =
"hello abc hello aec afc";/*
* 搜尋字串中是否含有abc 或 aec 或 afc
*/result = str.
search
(/a[bef]c/
);
match()
- 可以根據正規表示式,從乙個字串中將符合條件的內容提取出來
- 預設情況下我們的match只會找到第乙個符合要求的內容,找到以後就停止檢索
我們可以設定正規表示式為全域性匹配模式,這樣就會匹配到所有的內容
可以為乙個正規表示式設定多個匹配模式,且順序無所謂
- match()會將匹配到的內容封裝到乙個陣列中返回,即使只查詢到乙個結果、
str =
"1a2a3a4a5e6f7a8b9c"
; result = str.
match
(/[a-z]/ig
);
replace()
- 可以將字串中指定內容替換為新的內容
- 引數:
1.被替換的內容,可以接受乙個正規表示式作為引數
2.新的內容
- 預設只會替換第乙個
result = str.
replace
(/[a-z]/gi
,"@_@");
result = str.
replace
(/[a-z]/gi,""
);
量詞
- 通過量詞可以設定乙個內容出現的次數
- 量詞只對它前邊的乙個內容起作用
- 正好出現n次
- 出現m-n次
- m次以上
- + 至少乙個,相當於
- 0個或多個,相當於
- ? 0個或1個,相當於
檢查乙個字串中是否以a開頭
^ 表示開頭
$ 表示結尾
如果在正規表示式中同時使用^ $則要求字串必須完全符合正規表示式
檢查乙個字串中是否含有 .
. 表示任意字元
在正規表示式中使用\作為轉義字元
\. 來表示.
\\ 表示\
注意:使用建構函式時,由於它的引數是乙個字串,而\是字串中轉義字元,
如果要使用\則需要使用\\來代替
\w
- 任意字母、數字、_ [a-z0-9_]
\w- 除了字母、數字、_ [^a-z0-9_]
\d- 任意的數字 [0-9]
\d- 除了數字 [^0-9]
\s- 空格
\s- 除了空格
\b- 單詞邊界
\b- 除了單詞邊界
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...