正则表达式转义字符
题目描述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