用于明确或任何小于11的字符的Java正则表达式

时间:2015-04-29 08:20:52

标签: regex

我是Rails开发人员,但我需要一个正则表达式,可以允许短代码或总共不超过11​​的任何字符集。 我想的是:

(7575|[0-9a-zA-Z& ]*{11})

然而,它没有奏效。

1 个答案:

答案 0 :(得分:2)

我不知道您正在使用哪种功能(这很重要,因为findmatches表现不同),但为了明确无误,您可以使用以下内容:

^(7575|[0-9a-zA-Z& ]{1,11})$

以上表示匹配7575或匹配字符集0-9a-zA-Z& 中的1到11个字符。如果您还想允许空字符串,则必须使用{0,11}

稍高一点的内存效率是^(?:7575|[0-9a-zA-Z& ]{1,11})$(因为没有捕获组)。

^匹配字符串的开头,$匹配字符串的结尾,从而确保在匹配的部分之前或之后不再有字符。