我正在尝试创建一个Regex来检查6-12个字符,一个是数字,其余是任何字符,没有空格。 Regex可以这样做吗?我试图在objective-c中这样做,我根本不熟悉Regex。我一直在阅读一些教程,但大多数是为了匹配一个数字或一组数字的简单情况,但不完全是我正在寻找的。我可以用方法来做,但我想知道它是否会太慢而且我想我可以尝试学习新的东西。
asdfg1 == ok
asdfg 1 != ok
asdfgh != ok
123456 != ok
asdfasgdasgdasdfasdf != ok
答案 0 :(得分:1)
使用此正则表达式^(?=.*\d)(?=.*[a-zA-Z])[^ ]{6,12}$
答案 1 :(得分:0)
我没试过,但我认为这是答案
(^[^\d\x20]*\d[^\d\x20]*$){6,12}
答案 2 :(得分:0)
当你说“性格”时,你的意思是“字母”,对吧?并且(感谢burning_LEGION指出这一点)可能只有一个数字?
在这种情况下,请使用
^(?=\D*\d\D*$)[^\W_]{6,12}$
<强>解释强>
^ # Start of string
(?=\D*\d\D*$) # Assert that there is exactly one digit in the string
[^\W_] # Match a letter or digit (explanation below)
{6,12} # 6-12 times
$ # End of string
[^\W_]
看起来有点奇怪。它是如何工作的?好吧,\w
匹配任何字母,数字或下划线。 \W
匹配\w
不匹配的任何内容。所以[^\W]
(意思是“匹配任何不是字母数字/下划线的字符”)与\w
基本相同,但是通过向此字符类添加_
,我们可以删除下划线从允许的字符列表中。
答案 3 :(得分:0)
这是一位数:^[^\d\x20]{0,11}\d{1}[^\d\x20]{0,11}$
但我不能限制在6-12长度,你可以使用其他功能首先检查长度,如果从6到12检查这个正则表达式巫婆我写的