何能准确匹配 6 位或 8 位或 10 位数字?
"787876" =~ /^\d{6}$/ -> TRUE
"78787633" =~ /^\d{8}$/ -> TRUE
"7878733226" =~ /^\d{10}$/ -> TRUE
"7878736" =~ /^\d{6}$/ -> FALSE
何为这些情况创建一个正则表达式。较短的形式:
"787876" =~ /^\d{6}$|^\d{8}$|^\d{10}$/
使用这个正则表达式^\d{6}(\d{2}){0,2}$
另一种解决方案:/^\d{10}|\d{8}|\d{6}$/
我能想到的最短形式是这样的:
/^(\d\d){3,5}$/
那是3到5对数字。
如果您正在处理大量数据,这可能是一个不错的选择,因为它没有括号来运行子匹配和存储子结果。
/^\d{2}{3,5}$/
恕我直言,编写正则表达式有两个原则: