/^[+]{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:请先对以上疑惑分步骤解说,然后用一句话综合说明这个正则表达的是什么意思,谢谢!
展开
 我来答
百度网友2571d37bb
2015-08-31 · 知道合伙人软件行家
百度网友2571d37bb
知道合伙人软件行家
采纳数:1971 获赞数:7905
前端工程师

向TA提问 私信TA
展开全部
  1. ^ 表示以什么开通,$ 表示以什么结尾

  2. {x,y} 表示字符的长度,x~y

  3. 表示后面必须跟数字,数字的长度为1~3个,就是说1个,2个,3个都可以

  4. 主要是匹配空格

  5. 前置问号 表示贪婪匹配,匹配上即终止后续匹配

  6. ‘-’可以有也可以没有,后面跟着数字或是空格,长度为1~12个。

总体:不知道具体干什么用,但是可以匹配  +1 -1+ ,++111 111111111111+

追问
1-6个问题中感谢耐心回答,但是第6个问题:([-]?((\d)|[ ]){1,12})+,后面不是还有个+号没有解释?请解释下;还有一个问题:这个正则的意思是只要匹配到了“?”前面的规则就结束匹配;若是没有匹配到“?”前面的规则就匹配“?”后面的规则,是这样吗?也就是是否“?”前后两个规则是独立的两个规则,就相当于是水火,只能有一个存在,是这样吗?
追答
1.后面加号是一次到多次匹配,加号前不是又个括号吗,
上面的的回答没有仔细看清楚,不好意思。
2.贪婪匹配的意思是:后面的匹配上就结束。后面的一定要匹配上才会有结果输出。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式