允许Az,0-9和中间潇洒的正则表达式,永远不会结束?

AnA*_*ice 2 ruby regex

我正在努力创建一个满足以下条件的ruby正则表达式:

支持的:

  • AZ,az,0-9,在中间破折号,但从不以破折号开始或结束.
  • 至少5个,不超过500个字符

到目前为止,我有:

[0-9a-z]{5,500}
Run Code Online (Sandbox Code Playgroud)

有关如何更新以符合上述标准的任何建议?

谢谢

Chr*_*ung 7

[A-Za-z\d][-A-Za-z\d]{3,498}[A-Za-z\d]
Run Code Online (Sandbox Code Playgroud)

如果你愿意_作为一封信来对待,那就更简单了:

\w[-\w]{3,498}\w
Run Code Online (Sandbox Code Playgroud)


Bol*_*ock 6

这应该工作:

[0-9A-Za-z][0-9A-Za-z-]{3,498}[0-9A-Za-z]
Run Code Online (Sandbox Code Playgroud)

  • @matthias:不确定Ruby正则表达式,但在其他版本中,如果它在字符类的开头或结尾,则不需要转义. (2认同)