【发布时间】:2016-06-11 19:12:00
【问题描述】:
我正在用 golang 编写一个 Web 应用程序。我正在使用正则表达式来验证 URL。但我无法在 URL 验证中验证图像 (abc.png)。
var validPath = regexp.MustCompile("^/$|/(home|about|badge)/(|[a-zA-Z0-9]+)$")
以上 URL 采用 /home/、/about/,但无法转换为 /abc.png。我的意思是 . 本身不工作
我尝试了以下正则表达式,但没有帮助
var validPath = regexp.MustCompile("^/$|/(home|about|badge|.)/(|[a-zA-Z0-9]+)$")
var validPath = regexp.MustCompile("^/$|/(home|about|badge)(/|.)(|[a-zA-Z0-9]+)$")
我正在尝试匹配http://localhost:8080/badge.png
有人可以帮我解决这个问题吗?
【问题讨论】:
-
你不允许在任何地方点。您可以将点放在字符类中。我也不确定最后一个管道相对于括号的位置。
-
您的问题不清楚。请写一些正则表达式必须匹配的示例。顺便说一句,你为什么使用 2 "$"?字符串的结尾只能出现一次。
-
@LarsFischer - 我用我的尝试更新了这个问题。但这没有帮助
-
我以为你想匹配这样的东西。看看rubular.com/r/Hi5xVkbDOD。对吗?
-
见this demo。看起来
^/$|^(?:/(home|about|badge))?/((?:badge|abc)\.png|[a-zA-Z0-9]*)$应该适合你。请告诉我。
标签: regex image validation go