Ruby on rails 城市轨道验证格式,st

Ruby on rails 城市轨道验证格式,st,ruby-on-rails,regex,validation,format,Ruby On Rails,Regex,Validation,Format,正在尝试添加一个验证,该验证的位置格式为city,state(例如纽约州纽约市),city为任意长度,state为2个字符。找到了多个资源来验证电子邮件和特定文件类型,但无法在城市、州或地区正确获取。我想到的最接近C#,但它使用了^和$,翻译不恰当 (^[\w\s]+,\s\w{2}$) 如果2个字符的代码只能在a-z之间,则使用此选项: ^[^,]+,\s*[a-zA-Z]{2}$ 否则,您可以使用: ^[^,]+,\s*\w{2}$ 样本来源: re = /^[^,]+,\s*\w{

正在尝试添加一个验证,该验证的位置格式为city,state(例如纽约州纽约市),city为任意长度,state为2个字符。找到了多个资源来验证电子邮件和特定文件类型,但无法在城市、州或地区正确获取。我想到的最接近C#,但它使用了^和$,翻译不恰当

(^[\w\s]+,\s\w{2}$)

如果2个字符的代码只能在a-z之间,则使用此选项:

^[^,]+,\s*[a-zA-Z]{2}$
否则,您可以使用:

^[^,]+,\s*\w{2}$

样本来源:

re = /^[^,]+,\s*\w{2}$/m
str = 'city, state 
New York, NY
Dhaka,DHK
California,Ca
Los Angeles, LA
'

# Print the match result
str.scan(re) do |match|
    puts match.to_s
end

这就是我的工作原理:

/([A-Za-z]+(?: [A-Za-z]+)*),? ([A-Z]{2,2})/