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/