正则表达式查找只包含字母或数字或两者的字符串

时间:2015-07-28 06:43:34

标签: ruby regex

我正在搜索只有字母或数字或两者的字符串。我怎么能为此写一个正则表达式?

3 个答案:

答案 0 :(得分:5)

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

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

<强>解释

  1. ^:以
  2. 开头
  3. []:角色等级
  4. a-zA-Z:匹配任何字母
  5. 0-9:匹配任何数字
  6. +:与之前的字符匹配一次或多次
  7. $:结尾
  8. RegEx101 Demo

答案 1 :(得分:3)

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

答案 2 :(得分:0)

该示例避免使用多行锚( ^ $ )(这可能会带来安全风险),因此最好使用 \ A \ z ,或者在Rails中添加:multiline => true选项。 仅字母和数字:

/\A[a-zA-Z0-9]+\z/

或者,如果您也想离开-和_字符,也要退出

/\A[a-zA-Z0-9_\-]+\z/