我需要正则表达式,以2个特定字母开头,长度为28个字符。 需要正则表达式,因为这与Spring配置一起使用,它只采用正则表达式。
我一直在努力做到这一点,它不起作用(^[AK][28]*)
答案 0 :(得分:3)
如果你的意思是字符串应该像" AKxxxxxxxx" (共28个字符),然后你可以使用:
^AK.{26}$ //using 26 since AK already count for 2 characters
答案 1 :(得分:0)
如果需要计算重复次数,请使用{min, max}
语法。省略逗号和最大值会告诉正则表达式解析器查找完全min
次重复。
例如:
.{1,3}
将匹配任意字符(由dot
)序列显示 1到3个字符之间。
[AK]{2}
将匹配完全 2个 A或K的字符:
AK,AA,KA或KK。
另外,你的正则表达式使用[AK]。这意味着它将匹配给定的一个字符,即A或K.
如果您需要匹配特定的“AK”序列,那么您需要摆脱'['']'令牌。
因此,你的正则表达式可以是AK.{28}
,这意味着它将匹配AK,后跟恰好28个字符。
答案 2 :(得分:0)
Regex并不是Java的特定内容,如果您查看任何tutorial(并且有足够的内容!),也不是很难。
回答你的问题:
AK[a-zA-Z]{26}
以上正则表达式应解决有关28个字符串的问题,前两个字母为 AK 。
精化:
如果您需要匹配整行,您可能希望分别在开头和结尾添加 ^ 和 $ 告诉正则表达式解析器它必须匹配整行/字符串而不仅仅是一个部分:
^AK[a-zA-Z]{26}$