2 回答

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
也許,這個(gè)表達(dá)可能更接近你的想法:
^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$
測(cè)試
package main
import (
? ? "regexp"
? ? "fmt"
)
func main() {
? ? var re = regexp.MustCompile(`(?m)^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$`)
? ? var str = `127.0.0.1
192.168.1.1
192.168.1.255
255.255.255.255
0.0.0.0
1.1.1.01
30.168.1.255.1
127.1
192.168.1.256
-1.2.3.4
3...3`
? ? for i, match := range re.FindAllString(str, -1) {
? ? ? ? fmt.Println(match, "found at index", i)
? ? }
}
參考:
使用正則表達(dá)式驗(yàn)證 IPv4 地址
正則表達(dá)式電路
jex.im可視化正則表達(dá)式:

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊
我非常確定您的表達(dá)式需要錨點(diǎn),否則它的最后一部分將匹配任何單個(gè)數(shù)字并成功。嘗試^
在正面和$
背面使用。
- 2 回答
- 0 關(guān)注
- 151 瀏覽
添加回答
舉報(bào)