我需要创建一个正则表达式模式,该模式以i
开头,后跟6个数字。例如:i123456,i098765。
我已关注此SO,并创建了此正则表达式:^\[i]{1}[0-9]{6}$
,但在this验证网站中,我对上述示例进行了错误处理。
我如何实现这一目标?
答案 0 :(得分:3)
注意事项:
开头和结尾的插入符号(^)和美元符号($)分别表示行或字符串的开头和结尾,具体取决于多行(m)标志。如果您在字符串中查找匹配项,则此正则表达式将失败,因为它要求i123456模式为整个字符串(或行)。
您不需要创建一个字符集,如方括号中包含的字符所示,以匹配单个字符。只要写得很简单。
文字RegExp以正斜杠开头和结尾。除非您包含这些表达,否则某些在线工具和验证程序可能无法将您的表达识别为有效。
正如@kamilkp回答的那样,如果您尝试根据模式验证整个输入字符串,/^i\d{6}$/
将是最短的表达式。如果您尝试从较大的字符串中提取与模式匹配的子字符串,则如果前导字母“i”的大小写无关紧要,则最简单的模式为/i\d{6}/
或/i\d{6}/i
。
答案 1 :(得分:1)
最短的正则表达式是:/^i\d{6}$/