首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个RegExp有什么问题?

这个RegExp有什么问题?
EN

Stack Overflow用户
提问于 2012-04-20 16:30:42
回答 2查看 110关注 0票数 2

我相信我没有做错什么:

代码语言:javascript
复制
sed -e "s_//[01]\.thumbs\.4chan\.org/[a-z0-9]\+/src/\([0-9]\*\)s\.jpg_/${LOC}/\1s.jpg_g" -e "s_//images\.4chan\.org/[a-z0-9]\+/src/\([0-9]\*\)\.\(jpg\|gif\|png\)_/${LOC}/\1.\2_g" $LOC.html > a

谁能告诉我为什么它不能将在线链接转换为离线链接?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-20 16:38:31

我认为\*\+应该是*+?否则,它从字面上看就是*+

票数 2
EN

Stack Overflow用户

发布于 2012-04-20 18:26:25

在简单的正则表达式模式下使用sed,就像你已经做的那样,+必须转义为\+,并且正如“预期”的那样,星号*需要是asis,即。而不是逃脱。下面是几个使用\+*的测试

如果想简化操作,可以在extended regex模式下使用sed,方法是使用-r选项。你不需要逃离+()....

代码语言:javascript
复制
echo '//0.thumbs.4chan.org/abc123/src/029s.jpg' |
    sed -n "\_//[01]\.thumbs\.4chan\.org/[a-z0-9]\+/src/\([0-9]*\)s\.jpg_p"

echo '//images.4chan.org/abc123/src/029.jpg' |
    sed -n "\_//images\.4chan\.org/[a-z0-9]\+/src/\([0-9]*\)\.\(jpg\|gif\|png\)_p"

输出:

代码语言:javascript
复制
//0.thumbs.4chan.org/abc123/src/029s.jpg
//images.4chan.org/abc123/src/029.jpg
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10242773

复制
相关文章

相似问题

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