我需要帮助形成一个正则表达式来检查输入字符串是否只是模式1或2个字母(可以是小写或大写),后跟1或2位数。有效字符串将是d1,d15,ha1,ha20等。
答案 0 :(得分:5)
以下应该做你想做的事:
\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