常用的正規表示式格式

2021-09-13 11:51:31 字數 2826 閱讀 1493

背景:正規表示式使用單個字串來描述、匹配一系列匹配某個句法規則的字串。通常我們使用正規表示式用作資訊的驗證。雖然正規表示式非常繁瑣,但是它的功能卻是非常的強大。學會之後會讓我們的專案中除了提高效率外,還會給我們帶來絕對的成就感。

正規表示式是一種描述字串結構的語法規則,是乙個特定的格式化模式,可以匹配,替換,擷取匹配的字串。乙個完整的正規表示式由兩部分構成,即元字元和文字字元。元字元就是具有特殊含義的字元,比如" * "和「 ? 」。文字字元就是普通的文字,如字母和數字等。正規表示式一般都放置在定界符「/」中間.

正規表示式的作用:

測試字串內的模式。

例如,可以測試輸入字串,以檢視字串內是否出現**號碼模式或信用卡號碼模式。這稱為資料驗證。

替換文字。

可以使用正規表示式來識別文件中的特定文字,完全刪除該文字或者用其他文字替換它。

基於模式匹配從字串中提取子字串。

可以查詢文件內或輸入域內特定的文字。

常用的元字元:

元字元的相關說明和分類

元字元 說明 舉例

字元類() 方括號內不區分大小寫 [tt][mm]

選擇字元(|) 該字元可以理解為「或」,與「」相同 [t|t][m|m]

連字元(-) 變數的命名規則是只能以字母和下劃線開頭 [a-za-z]

排除字元([^]) 匹配不符合命名規則的變數 [^a-za-z]

限定符(?*+[n,m]) 對於重複出現的字母和字串,可以使用限定符來實現匹配 gogle

點號字元(.) 匹配除換行符外的任意乙個字元

^s.t$

轉義字元(\) 正規表示式中的轉義字元(\)和php中的大同小異,都是將特殊字元轉義為普通字元 [0-9](,[0-9])

括號字元(()) 改變限定符的作用範圍 (thir|four)th

行定位符(^和$) 行定位符就是用來描述字串的邊界 ^tm

單詞定界符(\b,\b) 表示式tm可以對字串中任意位置出現的字串tm進行匹配 \btm\b

常用的正規表示式格式:

數字:1

$n位的數字:^\d$

至少n位的數字:^\d$

m-n位的數字:^\d$

零和非零開頭的數字:^(0|[1-9][0-9])$

非零開頭的最多帶兩位小數的數字:^([1-9][0-9])+(.[0-9])?$

帶1-2位小數的正數或負數:^(-)?\d+(.\d)$

正數、負數、和小數:^(-|+)?\d+(.\d+)?$

有兩位小數的正實數:2

+(.[0-9])?$

有1~3位小數的正實數:3

+(.[0-9])?$

非零的正整數:4

\d$ 或 ^([1-9][0-9])$ 或 ^+?[1-9][0-9]$

非零的負整數:^-[1-9]0-9"$ 或 ^-[1-9]\d$

非負整數:^\d+$ 或 5

\d*|0$

非正整數:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$

非負浮點數:^\d+(.\d+)?$ 或 6

\d*.\d*|0.\d*[1-9]\d*|0?.0+|0$

非正浮點數:^((-\d+(.\d+)?)|(0+(.0+)?))$ 或 ^(-([1-9]\d*.\d*|0.\d*[1-9]\d*))|0?.0+|0$

正浮點數:7

\d*.\d*|0.\d*[1-9]\d*$ 或 ^(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9]))$

負浮點數:^-([1-9]\d*.\d*|0.\d*[1-9]\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+)?$ 或 ^-?([1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0)$

漢字:8

$英文和數字:9

+$ 或 10

$長度為3-20的所有字元:^.$

由26個英文本母組成的字串:11

+$由26個大寫英文本母組成的字串:12

+$由26個小寫英文本母組成的字串:13

+$由數字和26個英文本母組成的字串:14

+$由數字、26個英文本母或者下劃線組成的字串:^\w+$ 或 ^\w$

中文、英文、數字包括下劃線:15

+$中文、英文、數字但不包括下劃線等符號:16

+$ 或 17

$可以輸入含有^%&『,;=?katex parse error: can't use function '\"' in math mode at position 1: \̲"̲等字元:[^%&『,;=?\x22]+

禁止輸入含有的字元:[^\x22]+

[a-za-z0-9_]$

密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線):19

0-9 ↩︎

0-9 ↩︎

0-9 ↩︎

1-9 ↩︎

1-9 ↩︎

1-9 ↩︎

1-9 ↩︎

\u4e00-\u9fa5 ↩︎

a-za-z0-9 ↩︎

a-za-z0-9 ↩︎

a-za-z ↩︎

a-z ↩︎

a-z ↩︎

a-za-z0-9 ↩︎

\u4e00-\u9fa5a-za-z0-9_ ↩︎

\u4e00-\u9fa5a-za-z0-9 ↩︎

\u4e00-\u9fa5a-za-z0-9 ↩︎

a-za-z ↩︎

a-za-z ↩︎

正規表示式 常用正規表示式

一 校驗數字的表示式 1 數字 0 9 2 n位的數字 d 3 至少n位的數字 d 4 m n位的數字 d 5 零和非零開頭的數字 0 1 9 0 9 6 非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 7 帶1 2位小數的正數或負數 d d 8 正數 負數 和小數 d d 9 有兩位小數的...

正規表示式 常用正規表示式

網域名稱 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 4 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 或者 1 3...

正規表示式 開發常用的正規表示式

正規表示式是一種用來進行文字匹配的工具,其語法優美簡潔。在開發中,查詢 對比以及匹配字串是家常便飯的業務,通過正規表示式我們將這些業務描述成某些需求規則,來讓我們的 更美觀 實用。例如我們要驗證使用者輸入的密碼長度是否滿足6 18位的長度,新手最常見的驗證方式是判斷輸入的密碼長度 return te...