/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/ 这个正则表示什么意思?
/^[+]{0,1}(\d){1,3}[]?([-]?((\d)|[]){1,12})+$/1:/^........$/:表示匹配所有规则;2:[+]{0,1}:表示第一...
/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/
1: /^........$/ :表示匹配所有规则;
2: [+] {0,1}:表示第一个字符(1-0=1)必须是以+开头;//第一个疑惑:{x,y}这边表示的应该是字符长度,而不是字符的位置,是吧?那这意思是:因为+这个字符因为是在正则中 ^ 的后面,而^表示的是打头的字符要匹配紧跟在 ^ 后面的规则,所以综合来说表示的是第一个字符必须以+开头,且它的字符长度为1(1-0),也就是只能有一个,是吗?
3: (\d){1,3}:因为是紧跟前面规则,所以后面的字符中数字的字符数量必须为两个(3-1=2);也就是说第二个和第三个字符必须为数字,是吗?
4: [ ]:我感觉这个是多余的,他都没有匹配规则啊?难不成还匹配空白字符不成?
5: ?:表示的是前导对象必须在目标对象中出现0次或1次。这个怎么理解?前导对象、目标对象表示的是什么?
6: ([-]?(\d)|[ ]){1,12}+:表示什么意思?
7:请先对以上疑惑分步骤解说,然后用一句话综合说明这个正则表达的是什么意思,谢谢! 展开
1: /^........$/ :表示匹配所有规则;
2: [+] {0,1}:表示第一个字符(1-0=1)必须是以+开头;//第一个疑惑:{x,y}这边表示的应该是字符长度,而不是字符的位置,是吧?那这意思是:因为+这个字符因为是在正则中 ^ 的后面,而^表示的是打头的字符要匹配紧跟在 ^ 后面的规则,所以综合来说表示的是第一个字符必须以+开头,且它的字符长度为1(1-0),也就是只能有一个,是吗?
3: (\d){1,3}:因为是紧跟前面规则,所以后面的字符中数字的字符数量必须为两个(3-1=2);也就是说第二个和第三个字符必须为数字,是吗?
4: [ ]:我感觉这个是多余的,他都没有匹配规则啊?难不成还匹配空白字符不成?
5: ?:表示的是前导对象必须在目标对象中出现0次或1次。这个怎么理解?前导对象、目标对象表示的是什么?
6: ([-]?(\d)|[ ]){1,12}+:表示什么意思?
7:请先对以上疑惑分步骤解说,然后用一句话综合说明这个正则表达的是什么意思,谢谢! 展开
展开全部
^ 表示以什么开通,$ 表示以什么结尾
{x,y} 表示字符的长度,x~y
表示后面必须跟数字,数字的长度为1~3个,就是说1个,2个,3个都可以
主要是匹配空格
前置问号 表示贪婪匹配,匹配上即终止后续匹配
‘-’可以有也可以没有,后面跟着数字或是空格,长度为1~12个。
总体:不知道具体干什么用,但是可以匹配 +1 -1+ ,++111 111111111111+
追问
1-6个问题中感谢耐心回答,但是第6个问题:([-]?((\d)|[ ]){1,12})+,后面不是还有个+号没有解释?请解释下;还有一个问题:这个正则的意思是只要匹配到了“?”前面的规则就结束匹配;若是没有匹配到“?”前面的规则就匹配“?”后面的规则,是这样吗?也就是是否“?”前后两个规则是独立的两个规则,就相当于是水火,只能有一个存在,是这样吗?
追答
1.后面加号是一次到多次匹配,加号前不是又个括号吗,
上面的的回答没有仔细看清楚,不好意思。
2.贪婪匹配的意思是:后面的匹配上就结束。后面的一定要匹配上才会有结果输出。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询