Ruby 使用可选字符时未指定重复运算符的目标
我想匹配这样的模式:Ruby 使用可选字符时未指定重复运算符的目标,ruby,regex,Ruby,Regex,我想匹配这样的模式: ssfd 或者这个: oifdsofijsdf d 所以,一个单独的名字或名字和中间的首字母 "dsfsf m" =~ /^[A-Za-z]+\s[A-Za-z]$/ 为了使中间的首字母可选,我添加了?: "dsfsf" =~ /^[A-Za-z](+\s[A-Za-z])?$/ 但它给了我一个错误: 未指定重复运算符的目标 我做错了什么 /^[A-Za-z]+\s*[A-Za-z]*$/ *平均长度为0或任何问题是您将左括号放错了位置,并在其旁边有一个“1或多个
ssfd
或者这个:
oifdsofijsdf d
所以,一个单独的名字或名字和中间的首字母
"dsfsf m" =~ /^[A-Za-z]+\s[A-Za-z]$/
为了使中间的首字母可选,我添加了?:
"dsfsf" =~ /^[A-Za-z](+\s[A-Za-z])?$/
但它给了我一个错误:
未指定重复运算符的目标
我做错了什么
/^[A-Za-z]+\s*[A-Za-z]*$/
*
平均长度为0或任何问题是您将左括号放错了位置,并在其旁边有一个“1或多个”运算符(+
),因此正则表达式不知道您可以有一个或多个:
^[A-Za-z]+(\s[A-Za-z])?$
是您可能打算使用的正则表达式(它似乎适用于您的测试用例)。^[A-Za-z]+(\s[A-Za-z])?$,请尝试此正则表达式。你设置了一个错误的位置