免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 10450 | 回复: 13
打印 上一主题 下一主题

请教正则表达式:匹配某个规则,但是排除指定的字符串 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-27 10:11 |只看该作者 |倒序浏览
例如:
我要匹配baidu.com,
但是不匹配news.baidu.com,
其他tieba.baidu.com匹配,

请教正则表达式怎么写?
grep, sed, awk中的正则都可以

我就只知道grep baidu.com | grep -v news.baidu.com

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
2 [报告]
发表于 2011-01-27 10:14 |只看该作者
本帖最后由 yinyuemi 于 2011-01-27 10:22 编辑

把news.baidu.com删除再匹配

或者:
sed '/baidu.com/{/news./d}'

论坛徽章:
0
3 [报告]
发表于 2011-01-27 10:20 |只看该作者
baidu\.com(??!news\.baidu\.com).)*

论坛徽章:
0
4 [报告]
发表于 2011-01-27 10:20 |只看该作者
回复 1# shijiu

egrep '[^\.]baidu.com' test.txt

论坛徽章:
0
5 [报告]
发表于 2011-01-27 10:23 |只看该作者
把news.baidu.com删除再匹配
yinyuemi 发表于 2011-01-27 10:14


谢谢你的回复!
我是想了解正则是如何处理类似需求的。

虽然我了解使用多个规则可以达到
例如:
grep baidu.com list | grep -v news.baidu
sed '/baidu.com/{/news.baidu.com/d}' list

论坛徽章:
0
6 [报告]
发表于 2011-01-27 10:28 |只看该作者
baidu\.com(??!news\.baidu\.com).)*
ashlv 发表于 2011-01-27 10:20


谢谢你的回复!

请教如何写完整的命令?
我用grep和sed都出错, awk则没有达到效果。

论坛徽章:
0
7 [报告]
发表于 2011-01-27 10:29 |只看该作者
回复  shijiu

egrep '[^\.]baidu.com' test.txt
youcz 发表于 2011-01-27 10:20



谢谢你的回复!

可能你误解我的需求了。

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
8 [报告]
发表于 2011-01-27 10:31 |只看该作者
可以使用零宽断言。

$ cat urfile
我要匹配baidu.com,
但是不匹配news.baidu.com,
其他tieba.baidu.com匹配,

$ grep -P '(?<!news\.)baidu\.com' urfile
我要匹配baidu.com,
其他tieba.baidu.com匹配,

论坛徽章:
0
9 [报告]
发表于 2011-01-27 10:33 |只看该作者
把news.baidu.com删除再匹配

或者:
sed '/baidu.com/{/news./d}'
yinyuemi 发表于 2011-01-27 10:14



谢谢你的回复!

可以满足需求。

请教的是: 正则支持这个功能吗?

论坛徽章:
0
10 [报告]
发表于 2011-01-27 10:36 |只看该作者
回复 6# shijiu


    偶用PERL的正则写的,SED和AWK的规则不大理解,不过是这个意思就是了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP