Regex 组合正则表达式字母和数字
我真的被这件事缠住了。如何组合字母和数字?如果它包含数字,则无效 我试过这个。这不管用Regex 组合正则表达式字母和数字,regex,Regex,我真的被这件事缠住了。如何组合字母和数字?如果它包含数字,则无效 我试过这个。这不管用 (^[a-z])+(^[0-9])+ 示例: abcd (valid) abcd123 (invalid) 123abcd (invalid) 您明确地说“以一个或多个小写字母开头”。为什么它对以数字开头的字符串有效 如果希望它与其中一个一起使用,请使用或组合使用|: (^[a-z]|[0-9])+ 示例如下: 此外,如果要匹配字符序列,则需要将+放在括号内。这会将带有数字的字符串视为无效: ^\D*$
(^[a-z])+(^[0-9])+
示例:
abcd (valid)
abcd123 (invalid)
123abcd (invalid)
您明确地说“以一个或多个小写字母开头”。为什么它对以数字开头的字符串有效
如果希望它与其中一个一起使用,请使用或组合使用|
:
(^[a-z]|[0-9])+
示例如下:
此外,如果要匹配字符序列,则需要将
+
放在括号内。这会将带有数字的字符串视为无效:
^\D*$
\D
匹配所有非数字的内容。数字和数字是一样的。请clarify@Barmar-哦,我的意思是字母和数字是测试正则表达式的好地方,并且有有用的信息。我是投票人。除此之外,我真的没有什么要说的,你显然误解了这个问题。你应该删除这个答案,阅读这个问题,然后(如果需要)发布一个新的答案来真正回答这个问题。@ruakh“我怎么做字母和数字的组合?”--我到底误读了什么?你误读了示例列表。OP给出了一个有效示例和两个无效示例。你的正则表达式接受所有三个。@ruakh-Hmm。也许你误解了。在我看来,op对上一个例子不匹配的事实感到失望。显然op询问字母和数字的组合,但表示abcd
是有效的,它们是alpha
字符。如果OP希望匹配的a-z多于a-z
,则应指定该值。否则,^[a-z]+$
是正确的。。。