js 的正则理解 [a-z*]*是什么意思


<script src="js/jquery-1.0.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
    var p = jQuery.parse;
    
    for ( var i = 0; i < p.length; i++ ) {
        var re = new RegExp( "^" + p[i][0]
    
            // Look for a string-like sequence
            .replace( 'S', "([a-z*_-][a-z0-9_-]*)" )
    
            // Look for something (optionally) enclosed with quotes
            .replace( 'Q', " *'?\"?([^'\"]*?)'?\"? *" ), "i" )
            console.log(re)
            }
</script>

re的结果

/^\[ *(@)([a-z*_-][a-z0-9_-]*) *([!*$^=]*) * *'?"?([^'"]*?)'?"? *\]/i
 /^(\[) *'?"?([^'"]*?)'?"? *\]/i
 /^(:)([a-z*_-][a-z0-9_-]*)\( *'?"?([^'"]*?)'?"? *\)/i
 /^([:.#]*)([a-z*_-][a-z0-9_-]*)/i


主要问题 [a-z*]这个*是什么意思 怎么理解

n*匹配任何包含零个或多个 n 的字符串。[a-z] 查找任何从小写 a 到小写 z 的字符。 结合起来就是匹配从小写 a 到小写 z 的n个字符

https://www.w3school.com.cn/jsref/jsref_obj_regexp.asp

哦 问题解决了号在[]中没有特殊含义就是号不代表数量 就代表一个字符 任意字符到了方括号中一般都是代表字符串没特殊含义