2

我需要帮助形成一个正则表达式来检查输入字符串是否仅是模式 1 或 2 个字母(可以是小写或大写),后跟 1 个或 2 个数字。有效的字符串是 d1,d15,ha1,ha20 等等。

4

1 回答 1

7

以下应该做你想要的:

\A[a-zA-Z]{1,2}\d{1,2}\z

[a-zA-Z]是匹配任意字母的字符类,\d等价[0-9]并匹配任意数字,{1,2}意思是“重复前一个元素1或2次”。

\A\z是锚点,它们仅分别匹配字符串的开头和结尾(它们不匹配任何字符,它们只需要字符串在它们处开始或结束以允许匹配)。

您通常还会看到锚点^$,我使用\A\z因为$将在字符串末尾的换行符之前匹配,并且可以通过选项修改其行为,而\z始终表示字符串的末尾。

以下页面对正则表达式语法进行了很好的总结:
http ://www.regular-expressions.info/reference.html

于 2012-05-31T19:17:11.463 回答