我想验证一个字符串,只要它包含长度在7到9之间的'0-9'字符。
我所拥有的是[0-9] {7,9},但这也匹配了一串十个字符,我不想要。
感谢。
答案 0 :(得分:4)
您需要使用^[0-9]{7,9}$
。
^匹配字符串的开头,而$匹配结尾。
答案 1 :(得分:3)
如果您想在较大的字符串中找到7-9位数字,可以使用a negative lookbehind and lookahead来验证匹配是否先于数字
(?<![0-9])[0-9]{7,9}(?![0-9])
这会分解为
(?<![0-9])
确保下一场比赛前面没有数字[0-9]{7,9}
根据您的需要匹配7-9位数字(?![0-9])
确保下一个字符不是数字如果您只是想确保整个字符串是一个7-9位数字,请将匹配项锚定到开头和结尾,并使用^和$
^[0-9]{7,9}$