我需要创建一个以 i
开头并后跟 6 个数字的正则表达式模式。例如:i123456、i098765。
我遵循了这个
Improve this question
,并创建了这个正则表达式:^\[i]{1}[0-9]{6}$
但在 SO 验证网站中,我在上面的示例中得到了错误。
如何实现这一目标?
最佳答案
注意事项:
开头和结尾的脱字号 (^) 和美元符号 ($) 分别表示行或字符串的开头和结尾,具体取决于多行 (m) 标志。如果您正在字符串中查找匹配项,此正则表达式将失败,因为它要求 i123456 模式为整个字符串(或行)。
您不需要创建字符集(如将字符包含在方括号中)来匹配单个字符。简单写一下就可以了。
文字正则表达式以正斜杠开头和结尾。某些在线工具和验证器可能不会将您的表达式识别为有效,除非您包含它们。
正如 @kamilkp 回应的那样,如果您尝试根据模式验证整个输入字符串,/^i\d{6}$/
将是最短的表达式。如果您尝试从较大的字符串中提取与模式匹配的子字符串,最简单的模式是 /i\d{6}/
或 /i\d{6}/i
如果前导字母“i”的大小写无关。
关于javascript 正则表达式模式验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22602596/