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

Ruby 正则表达式查找仅包含字母或数字或两者的字符串,ruby,regex,Ruby,Regex,我正在搜索仅包含字母或数字或两者的字符串。如何编写正则表达式呢?您可以使用下面的regex检查字符串是否包含字母和/或数字 ^[a-zA-Z0-9]+$ 解释 ^:以开头 []:字符类 a-zA-Z:匹配任何字母表 0-9:匹配任意数字 +:一次或多次匹配前面的字符 $:以结尾 这个例子让我们避免使用多行锚(^或$)(这可能会带来安全风险),因此最好使用\a和\z,或者在Rails中添加:multiline=>true选项。 只有字母和数字: /\A[a-zA-Z0-9]+\z/ 或者,如果

我正在搜索仅包含字母或数字或两者的字符串。如何编写正则表达式呢?

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

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

  • ^
    :以开头
  • []
    :字符类
  • a-zA-Z
    :匹配任何字母表
  • 0-9
    :匹配任意数字
  • +
    :一次或多次匹配前面的字符
  • $
    :以结尾

  • 这个例子让我们避免使用多行锚(^$)(这可能会带来安全风险),因此最好使用\a\z,或者在Rails中添加:multiline=>true选项。 只有字母和数字:

    /\A[a-zA-Z0-9]+\z/
    
    或者,如果你想离开,也可以:

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

    检查并回答好。在回答涉及正则表达式的问题时,我经常发现在扩展模式下表达正则表达式很有用,这使得它可以自我记录。我的答案就是一个例子。我建议在Ruby中使用
    \A
    /
    \z
    (字符串的开始/结束)而不是
    ^
    /
    $
    (行的开始/结束),即使字符串可能永远不包含换行符。感谢您用表达式解释每个模式运算符。对于这两种情况,他们只需要编辑字母和数字
    /\A[a-zA-Z0-9_\-]+\z/