第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

IPv4 正則表達(dá)式捕獲地址的不正確部分

IPv4 正則表達(dá)式捕獲地址的不正確部分

Go
GCT1015 2023-07-10 16:46:57
我正在嘗試編寫(xiě)一個(gè)程序,從終端輸入打印 IPv4 地址的無(wú)效部分。這是我的代碼:package chapter4import (    "bufio"    "fmt"    "os"    "regexp"    "strings"    "time")func IPV4() {    var f *os.File    f = os.Stdin    defer f.Close()    scanner := bufio.NewScanner(f)    fmt.Println("Exercise 1, Chapter 4 - Detecting incorrect parts of IPv4 Addresses, enter an address!")    for scanner.Scan() {        if scanner.Text() == "STOP" {            fmt.Println("Initializing Level 4...")            time.Sleep(5 * time.Second)            break        }        expression := "(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])"        matchMe, err := regexp.Compile(expression)        if err != nil {            fmt.Println("Could not compile!", err)        }        s := strings.Split(scanner.Text(), ".")        for _, value := range s {            fmt.Println(value)            str := matchMe.FindString(value)            if len(str) == 0 {                fmt.Println(value)            }        }    }}我的思考過(guò)程是,對(duì)于每個(gè)終端IP地址輸入,我用“.”分割字符串。然后我迭代結(jié)果[]string并將每個(gè)值與正則表達(dá)式匹配。由于某種原因,正則表達(dá)式不匹配的唯一情況是輸入中存在字母字符。每個(gè)數(shù)字,無(wú)論大小或組成,都與我的表達(dá)有效匹配。我希望你能幫助我找出問(wèn)題所在,如果有更好的方法,我洗耳恭聽(tīng)。謝謝!
查看完整描述

2 回答

?
慕桂英4014372

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á)式:

http://img1.sycdn.imooc.com/64abc5b100018fac09730295.jpg

查看完整回答
反對(duì) 回復(fù) 2023-07-10
?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊

我非常確定您的表達(dá)式需要錨點(diǎn),否則它的最后一部分將匹配任何單個(gè)數(shù)字并成功。嘗試^在正面和$背面使用。



查看完整回答
反對(duì) 回復(fù) 2023-07-10
  • 2 回答
  • 0 關(guān)注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)