首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"sh“- URL验证

"sh“- URL验证
EN

Stack Overflow用户
提问于 2015-07-06 08:08:54
回答 2查看 305关注 0票数 0

有人能帮我执行SH shell (而不是bash)的URL验证吗?

试了下一个..。而且看上去不太正常。

代码语言:javascript
复制
regex='(https?|ftp|file)://[-A-Za-z0-9\+&@#/%?=~_|!:,.;]*[-A-Za-z0-9\+&@#/%=~_|]'
string=$1
if echo "$1"|grep -q '$regex';then
    echo "Link valid"
else
    echo "Link not valid"
fi
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-06 08:13:08

我不认为正则表达式足够复杂,不足以处理所有类型的有效URL,但忽略了这一点,您可以通过更改以下几点来使其工作:

代码语言:javascript
复制
if echo "$1" | grep -Eq "$regex"; then
                     ^  ^

我使用-E开关启用了扩展的regex支持,并在变量周围使用双引号,以便展开它。

票数 2
EN

Stack Overflow用户

发布于 2015-07-06 08:14:19

grep更改为:

代码语言:javascript
复制
grep -qP "$regex"

使用Perl并启用变量展开(双引号)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31240704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档