如何巧用一个正则表达式判断素数(质数)

2024-10-12 05:49:44

1、先来看这个正则表达式/^.?$|^(..+?)\1+$/下面按顺序解释一下:/表示正则表达式开始或结束^表示匹配字符串的开头.表示任意单个字符(除了换行、制表符、空格等空字符)?表示出现0次或1次$表示匹配字符串的结尾|表示逻辑或^表示匹配字符串的开头(子表达式开头扩起来.表示任意单个字符(除了换行、制表符、空格等空字符)+表示出现1次或更多次?表示出现0次或1次)子表达式结尾扩起来\1表示匹配前面的子字符串+表示出现1次或更多次$表示匹配字符串的结尾/表示正则表达式开始或结束

如何巧用一个正则表达式判断素数(质数)

3、具体我们来用Chrome浏览器来演示:首先,我们打开Chrome浏览器,按下F12进入开发者调试界面。点击Console,进入控制台。

如何巧用一个正则表达式判断素数(质数)

5、注意,在JS中,由于数组有长度限制。最大长度为Math.pow(2,32),即4294967296如果你需要检验的数栓疠瑕愤字,比4294967296还大,那么上述代码中的Array就会报错。此时,我们可以使用for循环改写一下即用for循环来把字符串拼接起来,进行素性测试。vart='';for(vari=0;i<你的数字;i++){t+='1'} !/^.?$|^(..+?)\1+$/.test(t)上述代码中加粗部分你的数字,修改为实际需要检测的正整数即可。

如何巧用一个正则表达式判断素数(质数)
猜你喜欢