-
以下正则表达式可以匹配从 1-64 的数字的有,即 1 2 3 … 63 64:()(深信服,2019.09)
1
2
3
4
5A. /^[1-9]$|^[1-5]\d$|^6[1-4]$/
B. /^[1-64]$/
C. /^([1-9])|([1-5]\d)|(6[1-4])$/
D. /^(([1-5]?[1-9])|(6[1-4]))$/
E. /^(([1-5]?[1-9])|(6[1-4])|([1-5]0))$/答案:C
检验
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24let r1 = /^[1-9]$|^[1-5]\d$|^6[1-4]$/ // 不能匹配 60
let r2 = /^[1-64]$/ // 不能匹配 7-64
let r3 = /^([1-9])|([1-5]\d)|(6[1-4])$/
let r4 = /^(([1-5]?[1-9])|(6[1-4]))$/ // 不能匹配 个位数为 0 的两位数
let r5 = /^(([1-5]?[1-9])|(6[1-4])|([1-5]0))$/ // 不能匹配 60
let res1 = []
let res2 = []
let res3 = []
let res4 = []
let res5 = []
for (let i = 1; i <= 64; i++) {
if(!r1.test(i)) res1.push(`${i} false`)
if(!r2.test(i)) res2.push(`${i} false`)
if(!r3.test(i)) res3.push(`${i} false`)
if(!r4.test(i)) res4.push(`${i} false`)
if(!r5.test(i)) res5.push(`${i} false`)
}
res1 // [ '60 false' ]
res2 // 7-64 都不匹配
res3 // []
res4 // 10、20、30、40、50、60都不匹配
res5 // [ '60 false' ]
正则表达式练习
-------文章到此结束 感谢您的阅读-------