3.正则表达式使用基础:括号(一)
1个回答
展开全部
有了分组,就可以准确表示“长度只能是m或者n”
之前用表达式[1-9]\d{14}(\d{2}[09-x])?匹配身份证号,思路是把18位号码多出的3位“合并”到匹配的15位号码的表达式中。还可以有其他方式。
15位身份证号就是[1-9]开头,之后是14位数字;18位身份证的开头也是[1-9]的数镇坦尺字,之后是16位数字御高,最后是[1-9x]?。只需要匹配两种表达式中的一个,就是合法身份证。那我们可以使用多选分组。
-关于多选分组,补充三点:
1.多选结构的一般表示法是(option1|option2),在多选结构中一般会同时使用()和竖线 |;但是如果没有括号,只出现竖线|,仍然是多选结构。
括号的用来规定整个多选结构的范围,如果没有出现括号,则整个表达式视为一个多选结构,所以 ab|cd 等价于 (ab|cd),建议多选结构都写出括号。
最好避免出现相同字符的多选结构,这样匹配会造成大量回溯,影响效率。
括号信橘还可以嵌套,例如下面的例子,这种比较繁冗。分组的编号此时根据开括号的出现顺序来计数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询