正则表达式以特定字母开头

时间:2011-12-16 21:45:57

标签: regex

我正在使用此^[S-s][0-9]{4}$来验证我的字符串,但无法正常工作。我的字符串必须是字母S(大写或小写)后跟4位数字的形式,例如S1234。看起来它适用于S以上的字母,这意味着如果我输入w1234它验证是正确的,但是如果我在s下面输入一个字母,如a1234它不会验证。感谢。

3 个答案:

答案 0 :(得分:11)

你需要摆脱破折号:

^[Ss][0-9]{4}$

[...]内的破折号表示字符范围。因此,正则表达式中的S-s将表示“S和s之间的Unicode字符表中的每个字符”,并且由于这两个字符不相邻,因此最终会出现一堆匹配的字符。

答案 1 :(得分:0)

[S-s]表示大写S和小写s之间所有字符的范围。请尝试使用^[Ss][0-9]{4}$。或者更好的是,^s\d{4}$使用不区分大小写的修饰符(/i在许多语言中)。

答案 2 :(得分:0)

不直接回答问题的详细内容,而是谁以问题的标题结束这个问题并寻找正则表达式的答案来查找匹配词的人以特定字母开头,例如: This is a 区域 您应该使用此正则表达式:

\bd[a-zA-Z]+

[a-zA-Z]应该替换为所需的期望尾巴。 看看这个link