js正则表达式的邮编这么写谁能解释一下啊? [1-9]\d{5}(?!\d) 前面的[1-9]
js正则表达式的邮编这么写谁能解释一下啊?[1-9]\d{5}(?!\d)前面的[1-9]这已经表示了一位数了吗?后面花括号里面为什么是5?还有(?!\d)这个是什么意思...
js正则表达式的邮编这么写谁能解释一下啊? [1-9]\d{5}(?!\d) 前面的[1-9]这已经表示了一位数了吗?后面花括号里面为什么是5?还有 (?!\d) 这个是什么意思?
展开
3个回答
推荐于2017-11-27
展开全部
[1-9]:匹配1-9中间的任何一个数字,很好理解,邮编没有0开头的
\d{5}:这里\d也是匹配数字,但是可以包含0,也就是0-9,后面的{5}表示是5个数字
(?!\d) :又称为负向零宽度断言或者零宽度负预测先行断言,它断言自身位置的后面不能匹配\d,也就是后面不能再是数字,这个时候123456是可以匹配的,但是1234567就不会被匹配。
\d{5}:这里\d也是匹配数字,但是可以包含0,也就是0-9,后面的{5}表示是5个数字
(?!\d) :又称为负向零宽度断言或者零宽度负预测先行断言,它断言自身位置的后面不能匹配\d,也就是后面不能再是数字,这个时候123456是可以匹配的,但是1234567就不会被匹配。
更多追问追答
追问
花括号为什么不是6呢?[1-9]是不是已经表示了一位数字了?
追答
对的,[1-9]已经匹配了一个数字,后面就只需要5个了
展开全部
[1-9]
匹配 1,2,3,,,9
\d{5}
\d匹配一个0-9的数字,{5}表示匹配连续的五个\d
(?!\d)
(?!exp)匹配不以exp结尾的位置,
(?!\d)匹配不以数字结尾的位置。
合起来就是:
匹配一个1-9的数字,之后跟着5个0-9的数字,这之后不以数字结尾
追问
花括号为什么不是6呢?[1-9]是不是已经表示了一位数字了?
追答
\d
匹配的是0-9
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
[1-9]:表示1到9任意一个数字
\d{5}:表示0-9任意5个数字组合
[1-9]占了一位,\d{5}占了5位
(?!\d) 前面六位之后不是数字了,可以是其他的
\d{5}:表示0-9任意5个数字组合
[1-9]占了一位,\d{5}占了5位
(?!\d) 前面六位之后不是数字了,可以是其他的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询