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”。