Go web 基礎 正則驗證

2021-10-05 20:15:29 字數 4512 閱讀 8544

單字元:

. 任意字元(標誌s==true時還包括換行符)

[xyz] 字元族

[^xyz] 反向字元族

\d perl預定義字元族

\d 反向perl預定義字元族

[:alpha:] ascii字元族

[:^alpha:] 反向ascii字元族

\pn unicode字元族(單字元名),參見unicode包

\pn 反向unicode字元族(單字元名)

\p unicode字元族(完整字元名)

\p 反向unicode字元族(完整字元名)

結合: xy 匹配x後接著匹配y

x|y 匹配x或y(優先匹配x)

重複: x* 重複》=0次匹配x,越多越好(優先重複匹配x)

x+ 重複》=1次匹配x,越多越好(優先重複匹配x)

x? 0或1次匹配x,優先1次

x n到m次匹配x,越多越好(優先重複匹配x)

x 重複》=n次匹配x,越多越好(優先重複匹配x)

x 重複n次匹配x

x*? 重複》=0次匹配x,越少越好(優先跳出重複)

x+? 重複》=1次匹配x,越少越好(優先跳出重複)

x?? 0或1次匹配x,優先0次

x? n到m次匹配x,越少越好(優先跳出重複)

x? 重複》=n次匹配x,越少越好(優先跳出重複)

x? 重複n次匹配x

分組: (re) 編號的捕獲分組

(?pre) 命名並編號的捕獲分組

(?:re) 不捕獲的分組

(?flags) 設定當前所在分組的標誌,不捕獲也不匹配

(?flags:re) 設定re段的標誌,不捕獲的分組

標誌的語法為xyz(設定)、-xyz(清楚)、xy-z(設定xy,清楚z),標誌如下:

i 大小寫敏感(預設關閉)

m ^和$在匹配文字開始和結尾之外,還可以匹配行首和行尾(預設開啟)

s 讓.可以匹配\n(預設關閉)

u 非貪婪的:交換x*和x*?、x+和x+?……的含義(預設關閉)

邊界匹配:

^ 匹配文字開始,標誌m為真時,還匹配行首

$ 匹配文字結尾,標誌m為真時,還匹配行尾

\a 匹配文字開始

\b 單詞邊界(一邊字元屬於\w,另一邊為文首、文尾、行首、行尾或屬於\w)

\b 非單詞邊界

\z 匹配文字結尾

轉義序列:

\a 響鈴符(\007)

\f 換紙符(\014)

\t 水平製表符(\011)

\n 換行符(\012)

\r 回車符(\015)

\v 垂直製表符(\013)

\123 八進位制表示的字元碼(最多三個數字)

\x7f 十六進製制表示的字元碼(必須兩個數字)

\x 十六進製制表示的字元碼

\* 字面值'*'

\q...\e 反斜線後面的字元的字面值

字元族(預定義字元族之外,方括號內部)的語法:

x 單個字元

a-z 字元範圍(方括號內部才可以用)

\d perl字元族

[:foo:] ascii字元族

\pf 單字元名的unicode字元族

\p 完整字元名的unicode字元族

預定義字元族作為字元族的元素:

[\d] == \d

[^\d] == \d

[\d] == \d

[^\d] == \d

[[:name:]] == [:name:]

[^[:name:]] == [:^name:]

[\p] == \p

[^\p] == \p

perl字元族:

\d == [0-9]

\d == [^0-9]

\s == [\t\n\f\r ]

\s == [^\t\n\f\r ]

\w == [0-9a-za-z_]

\w == [^0-9a-za-z_]

ascii字元族:

[:alnum:] == [0-9a-za-z]

[:alpha:] == [a-za-z]

[:ascii:] == [\x00-\x7f]

[:blank:] == [\t ]

[:cntrl:] == [\x00-\x1f\x7f]

[:digit:] == [0-9]

[:graph:] == [!-~] == [a-za-z0-9!"#$%&'()*+,\-./:;<=>?@[\\\]^_`~]

[:lower:] == [a-z]

[:print:] == [ -~] == [ [:graph:]]

[:punct:] == [!-/:-@[-`

result,

_:=regexp.

matchstring

(`^\d\w$`

,"5a"

) fmt.

println

(result)

package main

import

("regexp"

"fmt"

)func

main()

>

>

>

title

>

head

>

>

action

="register"

method

="post"

>

使用者名稱:type

="text"

name

="username"

/>

使用者名稱必須時6-12位,只能包含字元或數字

/>

type

="submit"

value

="註冊"

Go web 基礎 html模版

go語法的布林值 字串 字元 整數 浮點數 虛數 複數,視為無型別字面常數,字串不能跨行 關鍵字nil,代表乙個go的無型別的nil值 字元 句點,用時不加單引號 代表dot的值 變數名,以美元符號起始加上 可為空的 字母和數字構成的字串,如 piover2和 執行結果為變數的值,變數參見下面的介紹...

float js 正則 驗證 js 正則 數值驗證

1 functionchecktextdatafornormal strvalue 2 7 9 functionchecktextdataforinteger strvalue 10 14 16 functionisunsignedinteger strinteger 17 21 22 functi...

Go Web開發基礎介面開發與測試

在model層通過gorm新增crud介面 type user struct 查詢使用者是否存在 func checkuser name string code int return errmsg.succse 新增使用者 func createruser data user int return ...