許多程式語言都支援正規表示式進行字串操作
regexp (正規表示式)物件方法
var tel =
"15189469911"
;//字串
var reg =
newregexp
(/1[3578][0-9]/);
//模式
console.
log(reg.
test
(tel));
//true
支援正規表示式的 string 物件的方法
var tel =
"13789469911"
; console.
log(tel.
match
(/^1[34578][0-9]$/))
;//array [ "13789469911" ]
元字元
擁有特殊含義的字元
"\" 轉義字元
"\n" 匹配換行符
"\\"
(序列) 匹配 "\"
"\(" 匹配"("
\w 匹配單詞字元。
\w 匹配非單詞字元。
\d 匹配數字。[0-
9]\d 匹配非數字字元。[^0
-9]\s 匹配空白字元。
\s 匹配非空白字元。
\b 匹配單詞邊界。
\b 匹配非單詞邊界。
\n 匹配換行符。
\f 匹配換頁符。
\r 匹配回車符。
\t 匹配製表符。
\v 匹配垂直製表符。
^
匹配輸入字串的開始位置
$匹配輸入字串的結束位置
*
匹配前面的子表示式零次或多次
var str=
"fooood"
;//f fo...
//注意字串兩種寫法結果的不同
console.
log(str.
match
(/fo*/))
;//array [ "foooo" ]
console.
log(str.
match
(/^fo*$/))
;//null
+
匹配前面的子表示式一次或多次
var str=
"foo"
;//fo foo fooo...
console.
log(str.
match
(/^fo+$/))
; console.
log(str.
match
(/fo+/))
;//也可以不寫開始結尾符
?
匹配前面的子表示式零次或一次()
var str=
"foo"
;//f fo
console.
log(str.
match
(/^fo?$/))
;
非負整數,匹配確定的n次
非負整數,至少匹配n次
皆為非負整數,最少匹配n次最多匹配m次
[abc] 字元集合。匹配所包含的任意乙個字元
[^abc] 匹配任何不在方括號之間的字元。[0
-9] 匹配任何從 0 至 9 的數字。
[a-z] 匹配任何從小寫 a 到小寫 z 的字元。[a
-z] 匹配任何從大寫 a 到大寫 z 的字元。[a
-z] 匹配任何從大寫 a 到小寫 z 的字元。都可寫[^a
-z],匹配任何其中不包含的字元。
x|y 匹配x或y。
身份證
var str=
"61052319890917238x"
;//假設
var sfz=
/^[0-9]\d(19|20)\d((0\d)|(1[0-2]))(([0-2]\d)|(3[0-1]))\d(\d|x)$/
; console.
log(str.
match
(sfz)
);
使用者名稱
var userid =
/^[a-z0-9_-]$/
;
密碼
var password =
/^[a-z0-9_-]$/
;
電子郵箱
var email =
/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.])$/
;var email =
/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.[a-z]+)+$/
;
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...