Ruby 要验证只有小写的字符串,第一个字符必须是字母

Ruby 要验证只有小写的字符串,第一个字符必须是字母,ruby,regex,string,Ruby,Regex,String,我想使用正则表达式来验证包含 必须仅包含小写字母 第一个字符必须是一个字母 剩余字符必须与正则表达式匹配[a-z0-9.] 我使用/^[\w\s\-.]*$/来验证字符串。但是它允许第一个字符,比如(.)为什么不坚持自己的要求呢 第一个字符必须是小写字母:[a-z] 其余字符必须匹配:[a-z0-9.] ->您的正则表达式:/^[a-z][a-z0-9.]*$/当您将句点放在方括号内时,它被解释为文字句点。这就是你的正则表达式不起作用的原因之一。你想要的是: input =~ /^[a-

我想使用正则表达式来验证包含

  • 必须仅包含小写字母
  • 第一个字符必须是一个字母
  • 剩余字符必须与正则表达式匹配
    [a-z0-9.]

我使用
/^[\w\s\-.]*$/
来验证字符串。但是它允许第一个字符,比如(.)

为什么不坚持自己的要求呢

  • 第一个字符必须是小写字母:
    [a-z]
  • 其余字符必须匹配:
    [a-z0-9.]

->您的正则表达式:
/^[a-z][a-z0-9.]*$/

当您将句点放在方括号内时,它被解释为文字句点。这就是你的正则表达式不起作用的原因之一。你想要的是:

input =~ /^[a-z][a-z0-9_.]*$/
请注意,第一个字符由一个字符类处理,其余字符由另一个字符类处理,这是规范所要求的。你不能用一个字符类来完成它。

试试这个

 data = "helloworld_12_."
 data =~/^[a-z][a-z\d._]*$/
 puts $&

这可能对你有用

/^[a-z][a-z\d._]*/

/                  - Start of Regex
^                  - The string will start with a lowercase letter
[a-z\d._]*         - The string will have zero or more lowercase letters, digits, etc.
/                  - End of Regex
希望这有帮助。

您需要两个锚<代码>“ab12._c%%%”[/^[a-z][a-z\d.]*/]=>“ab12._c”。