url 中允许破折号的正则表达式

Regex that allows dashes in url

我需要在我的正则表达式中添加什么以允许在 url 中使用破折号?

我的正则表达式:/^https?:\/\/\w+(\.\w+)*(:[0-9]+)?\/?$/

谢谢!

如果你想匹配破折号而不是连续的破折号并且末尾不能有破折号,你可以使用字符 class 和点 [.-]

^https?:\/\/\w+(?:[.-]\w+)*(?::[0-9]+)?\/?$

Regex demo