正则表达式匹配只包含字母或字母数字的字符串

问题描述:

我需要一个正则表达式,它匹配具有字母或字母数字值的字符串。正则表达式匹配只包含字母或字母数字的字符串

我目前使用的正则表达式只接受字母,像

?:[a-z][a-z]+ 

我也用正则表达式接受字母数字,但它不符合我的要求

我的字符串是在以下图案

"john" or "john123" 

现在我需要接受这些类型的STR的表达ings?

+2

'[a-zA-Z0-9]'?或'/^[[:alnum:]] + $ /'也许 – RamRaider

+1

使用'^ [a-zA-Z] + [0-9] * $'但是,您应该解释要求。这些字符串是否以小写ASCII开头,然后有0+数字? –

您可以使用(:?[a-z0-9][a-z0-9]*)非捕捉”或([a-z0-9][a-z0-9]*)不区分大小写模式捕捉”,以配合这取决于您是否想捕获正则表达式匹配的单词字母词。

+0

如果字符串变成John123会怎么样?我应该改变表达为 ([a-Z0-9] [a-Z0-9] *) – user7597883

+0

这是正确的答案第二个表达式适用于我 – user7597883

+2

不能这只是'([a-z0-9 ] +)' –

尝试^[a-zA-Z0-9]+$,这个工作对我来说

尝试使用此^([A-Za-z]|[0-9])+$

这个正则表达式在年底接受你的字符串和字母数字的开头字母 您可以在https://regex101.com/

测试
^[A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*$ 
+0

为什么插入下划线? – Toto

+0

ohhh yes不需要_它是tue->^[A-Za-z] [A-Za-z0-9] *(?:[A-Za-z0-9] +)* $ –