首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >匹配特定长度的数字和字母组成的字符串

匹配特定长度的数字和字母组成的字符串
EN

Stack Overflow用户
提问于 2011-08-19 07:19:42
回答 1查看 3K关注 0票数 3

所以我做了这个练习,但是解不出来:

我只能接受一个字符串,如果它是由数字和字母组成的,必须至少包含其中的一个;并且长度必须是6-8个字符。字符串只有一个单词。

第一部分很好,尽管我不确定是否使用match:

代码语言:javascript
复制
re.match('([a-zA-Z]+[0-9]+)', string)

但是我不知道如何指定长度,它应该是数字和字母加起来的长度。这是行不通的,我猜也不应该这样做:

代码语言:javascript
复制
re.match('([a-zA-Z]+[0-9]+){6,8}', string)

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-19 07:21:32

试试这个:

代码语言:javascript
复制
^(?=.*\d)(?=.*[a-zA-Z])[a-zA-Z\d]{6,8}$

解释:

代码语言:javascript
复制
^              //The Start of the string
(?=.*\d)       //(?= ) is a look around. Meaning it
               //checks that the case is matched, but
               //doesn't capture anything
               //In this case, it's looking for any
               //chars followed by a digit.
(?=.*[a-zA-Z]) //any chars followed by a char.
[a-zA-Z\d]{6,8}//6-8 digits or chars.
$              //The end of the string.
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7115298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档