请详细说一下true的原因

请详细说一下true的原因。match里面每一个括号代表什么,请问是怎样匹配的,还麻烦一 一列举一下,谢谢

img


/**
         * [1-9]是指第一位数是1-9之间的任意一个数
         * [0-9]{5}是指第二到第六位数是在0-9之间的
         * (19|20)第七第八位数是19或者20
         * [0-9]{9}第九到第17位数是0-9之间的
         * [0-9Xx]是指第18位数是0-9之间或者X,x
         */

考查的是正则表达式相关知识,然后其实就是证件号的组成(一共18位)。
①[1-9]:表示第1位 可以为1-9任意一个数
②[0-9]{5}:第2-6位 数字需在0-9之间
③(19|20):第7-8位 数值为19 or 20
④[0-9]{9}:第9-17位数 数值在0-9之间的
⑤[0-9Xx]:第18位 在是0-9之间或者为X,x

希望对题主有所帮助!可以的话,帮忙点个采纳!