正则表达式转义字符

题目描述127.0.0.1为什么用[1-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}来表示,我表示看不懂这个,哪个大佬帮帮我

题目来源及自己的思路

相关代码

粘贴代码文本(请勿用截图)

你期待的结果是什么?实际看到的错误信息又是什么?


回答:

[0-9]{1,3} 表示由 0-9 十个数字、1 - 3 位。剩下还用讲吗?

P.S. 其实这个表达式不严谨,因为 IP 只能是 0-255(首位是 1-255),而这个表达式虽然限定了位数,但没有限定最大值。正确的表达式应该是 ^((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$,原理见下图。

正则表达式转义字符


回答:

这个匹配实际是不对的,
比如127.07.07.07,也可以匹配上。


回答:

正则很简单,首先你要明白匹配内容的规则,明白了内容规则在,正则就容易读啦:
ipv4协议规定的ip规则由4组数组3个.组成xxx.xxx.xxx.xxx
每组都是0-255之间的数字,也就是一到三位数字喽。正则表达式转义字符

这个题意思明白就行了,内容有误,ipv4每组数字是0-255,不是0-999;

以上是 正则表达式转义字符 的全部内容, 来源链接: utcz.com/a/159559.html

回到顶部