正则表达式来查找只有字母或数字或两者兼有的字符串

问题描述:

我正在寻找只有字母或数字或两者兼有的字符串。我怎么能为它写一个正则表达式?正则表达式来查找只有字母或数字或两者兼有的字符串

+0

检查http://rubular.com结束/和http://ruby-doc.org/core-2.1.1/Regexp.html – sschmeck

您可以使用下面regex检查是否字符串包含字母和/或数字

^[a-zA-Z0-9]+$ 

说明

  1. ^:开头是
  2. []:Character类
  3. a-zA-Z:比赛任何字母
  4. 0-9:匹配任何数量的
  5. +:匹配前面的字符的一个或更多的时间
  6. $:与

RegEx101 Demo

+0

很好的答案。当回答涉及正则表达式的问题时,我经常发现在扩展模式下表达正则表达式是很有用的,这使得它可以自我记录。一个例子是我的答案[这里](http://stackoverflow.com/questions/31621358/what-is-the-best-way-to-convert-english-sentences-into-ruby-key-value-pair/31621565 #31621565)。 –

+1

我推荐在Ruby中使用'\ A' /'\ z'(字符串的开始/结束)而不是'^'/'$'(开始/结尾),即使字符串可能不会包含换行符。 – cremno

+0

感谢您解释表达式中的每个模式运算符 – ablarg

"abc&@*(2743438" !~ /[^a-z0-9]/i # => false 
"abc2743438"  !~ /[^a-z0-9]/i # => true