正则表达式sql语句 (正则表达式中元字符的使用方法)

大家好,我是来自广元,定居成都的码农Wind!今天来看看关于IP段CIDR表示法的正则表达式!

IP表示法

除了点分十进制,还有 CIDR 表示法,比如: 192.168.0.1/24

子网划分里CIDR用 比较多:

可以参考子网划分的文章:https://blog.csdn.net/u012219045/article/details/60466352

正则表达式如下:

^(?:(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\/([1-9]|[1-2]\d|3[0-2])$

亲切有效:

在线测试网址:https://c.runoob.com/front-end/854

源自菜鸟的Python代码:

import re


pattern = re.compile(
    r'^(?:(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\/([1-9]|[1-2]\d|3[0-2])#39;)

str = '192.168.0.1/24'

print(pattern.search(str))

str = '192.168.0.1/0'

print(pattern.search(str))

str = '192.168.0.1/33'

print(pattern.search(str))

str = '192.168.0.1/'

print(pattern.search(str))

str = '192.168.0.1'

print(pattern.search(str))

源自菜鸟的JS代码:

var pattern = /^(?:(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\/([1-9]|[1-2]\d|3[0-2])$/,
	str = '';
console.log(pattern.test(str));

源自菜鸟的GO语言:

package main

import (
	"fmt"
	"regexp"
)

func main() {
	str := ""
	matched, err := regexp.MatchString("^(?:(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\/([1-9]|[1-2]\\d|3[0-2])#34;, str)
	fmt.Println(matched, err)
}

ip正则表达式,正则表达式中元字符的使用方法