正規表示式是乙個特殊的字串(正規表示式必須用//做定界符),由元字元和原義字元組成。
(1)元字元:構成正規表示式中字串匹配的特定字元,在正規表示式中元字元往往具備自己的含義。
元字元分為:基本元字元、範圍、重複、轉義字元。
(2)原義字元:在正規表示式中表示為字面含義的字元就是原義字元。
. 表示任意字元,包括字母、數字、下劃線等。例如:/a.b/
^ 表示以具體的內容開頭。例如:/^1/,表示以1開頭的字串。
$ 表示以具體的內容結尾。例如:/d$/,表示以d結尾的字串。
* 表示前一字元重複0次或多次。例:/ab*/,表示b沒有或重複多次,b左側為a。
? 表示前一字元重複0次或1次。例:/ab?/,表示b沒有或出現1次,b左側為a。
+ 表示前一字元重複1次或多次。例:/ab+/,表示b出現1次或重複多次,b左側為a。
| 表示兩邊的字元匹配其中任意乙個。例:/a|b/,表示a或b。
(1)功能:返回字串中匹配正規表示式reg的子串內容。
(2)返回值:帶有特定幾個取值的類陣列。
**如下(示例):
var str=
"console"
;var reg=
/ns/
;var e=str.
match
(reg)
;console.
log(e)
;console.
log(e[0]
);console.
log(e.index)
;console.
log(e.input)
;console.
log(e.length)
;// ["es", index: 4, input: "chinese", groups: undefined]
// 「es」,字串str中匹配正規表示式reg的子串內容
//4,字串str中匹配正規表示式reg的子串的索引值
//「chinese」,返回原始字串str
//1,返回字串str中匹配正規表示式reg的子串的個數
var hantih=
"13000180000"
var reg=
/^130*/
;var e=hantih.
match
(reg)
;console.
log(e)
;// 匹配到開頭為1中間為8後面有零也可以沒有零
// 輸出結果:"13000", index: 0, input: "13000180000", groups: undefined
var amd=
"130013000"
;var reg=
/130*/g
;var e=amd.
match
(reg)
;console.
log(e)
;//輸出結果 ["1300", "13000"]
// 正規表示式的修飾符g,表示全域性匹配,可以找到匹配正規表示式的多個子串。
var amd1=
"13052559669x"
;var amd2=
"130525596692"
;var reg=
/(x|x)$/
;var e1=amd1.
match
(reg)
;var e2=amd2.
match
(reg)
;console.
log(e1)
;console.
log(e2)
;// e2中第乙個x(r2[0])表示字串code2中匹配正規表示式reg的子串。
// e2中第二個x(r2[1])表示字串code2中匹配正規表示式reg中()擴住部分的子串。
var amd=
"1322223300330x"
;var reg=
/x$/i
;var e=amd.
match
(reg)
;console.
log(e)
;// 以x結尾,並且忽略大小寫
// 輸出結果index.js:38 ["x", index: 13, input: "1322223300330x", groups: undefined]
// 正規表示式的修飾符i,表示字母的大小寫。
(1)功能:返回字串中匹配正規表示式reg的子串的索引值。
(2)返回值:找到匹配的第乙個子串,則返回該子串在字串中的索引值;找不到則返回-1。
**如下(示例):
var amd1=
"i like football"
;var amd2=
"i like basketball"
;var reg=
/football|basketball/
;//表示兩個原義字串選乙個
var e1=amd1.
search
(reg)
;var e2=amd2.
search
(reg)
;console.
log(e1)
; console.
log(e2)
;//輸出結果為:7
var amd=
"banana"
;var reg=
/b(an)+/
;var e=amd.
match
(reg)
;var idx=amd.
search
(reg)
;console.
log(e)
;console.
log(idx)
;// e[0]是「banan」,是字串fruit匹配正規表示式reg的子串。
// e[1]是「b」,是字串fruit匹配正規表示式reg中第乙個()的子串。
// e[2]是「an」,是字串fruit匹配正規表示式reg中第二個()的子串。
$
(function()
console.
log(
"輸入錯誤")}
}})}
)
(1)功能:找出字串中匹配正規表示式reg的子串,並利用字串target對匹配的子串進行替換。
var statement=
"this,is,my,book"
;var reg=
/,/g
;//因為有多個逗號替換成空格,所以必須全域性匹配
var result=statement.
replace
(reg,
" ")
;//將字串statement中的逗號替換成空格
console.
log(result)
;//輸出結果:this is my book
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...